From 977af0a24d3f0b3cb9799d133b02c6316f286660 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 2 Mar 2019 18:51:59 +0900 Subject: ログをデータベースに保存して管理画面で見れるように MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/models/drive-file.ts | 3 ++- src/models/favorite.ts | 3 ++- src/models/log.ts | 17 +++++++++++++++++ src/models/note.ts | 3 ++- src/models/notification.ts | 3 ++- src/models/user.ts | 3 ++- 6 files changed, 27 insertions(+), 5 deletions(-) create mode 100644 src/models/log.ts (limited to 'src/models') diff --git a/src/models/drive-file.ts b/src/models/drive-file.ts index f3e21f209b..c31e9a709f 100644 --- a/src/models/drive-file.ts +++ b/src/models/drive-file.ts @@ -2,9 +2,10 @@ import * as mongo from 'mongodb'; import * as deepcopy from 'deepcopy'; import { pack as packFolder } from './drive-folder'; import { pack as packUser } from './user'; -import monkDb, { nativeDbConn, dbLogger } from '../db/mongodb'; +import monkDb, { nativeDbConn } from '../db/mongodb'; import isObjectId from '../misc/is-objectid'; import getDriveFileUrl, { getOriginalUrl } from '../misc/get-drive-file-url'; +import { dbLogger } from '../db/logger'; const DriveFile = monkDb.get('driveFiles.files'); DriveFile.createIndex('md5'); diff --git a/src/models/favorite.ts b/src/models/favorite.ts index e3aa92c887..2008edbfaf 100644 --- a/src/models/favorite.ts +++ b/src/models/favorite.ts @@ -1,8 +1,9 @@ import * as mongo from 'mongodb'; import * as deepcopy from 'deepcopy'; -import db, { dbLogger } from '../db/mongodb'; +import db from '../db/mongodb'; import isObjectId from '../misc/is-objectid'; import { pack as packNote } from './note'; +import { dbLogger } from '../db/logger'; const Favorite = db.get('favorites'); Favorite.createIndex('userId'); diff --git a/src/models/log.ts b/src/models/log.ts new file mode 100644 index 0000000000..f74332e940 --- /dev/null +++ b/src/models/log.ts @@ -0,0 +1,17 @@ +import * as mongo from 'mongodb'; +import db from '../db/mongodb'; + +const Log = db.get('logs'); +Log.createIndex('createdAt', { expireAfterSeconds: 3600 * 24 * 3 }); +export default Log; + +export interface ILog { + _id: mongo.ObjectID; + createdAt: Date; + machine: string; + worker: string; + domain: string[]; + level: string; + message: string; + data: any; +} diff --git a/src/models/note.ts b/src/models/note.ts index 9bdf22e977..c3413164be 100644 --- a/src/models/note.ts +++ b/src/models/note.ts @@ -1,7 +1,7 @@ import * as mongo from 'mongodb'; import * as deepcopy from 'deepcopy'; import rap from '@prezzemolo/rap'; -import db, { dbLogger } from '../db/mongodb'; +import db from '../db/mongodb'; import isObjectId from '../misc/is-objectid'; import { length } from 'stringz'; import { IUser, pack as packUser } from './user'; @@ -11,6 +11,7 @@ import Reaction from './note-reaction'; import { packMany as packFileMany, IDriveFile } from './drive-file'; import Following from './following'; import Emoji from './emoji'; +import { dbLogger } from '../db/logger'; const Note = db.get('notes'); Note.createIndex('uri', { sparse: true, unique: true }); diff --git a/src/models/notification.ts b/src/models/notification.ts index aedeafb522..75456af57b 100644 --- a/src/models/notification.ts +++ b/src/models/notification.ts @@ -1,9 +1,10 @@ import * as mongo from 'mongodb'; import * as deepcopy from 'deepcopy'; -import db, { dbLogger } from '../db/mongodb'; +import db from '../db/mongodb'; import isObjectId from '../misc/is-objectid'; import { IUser, pack as packUser } from './user'; import { pack as packNote } from './note'; +import { dbLogger } from '../db/logger'; const Notification = db.get('notifications'); Notification.createIndex('notifieeId'); diff --git a/src/models/user.ts b/src/models/user.ts index 97c7037938..56e052ed46 100644 --- a/src/models/user.ts +++ b/src/models/user.ts @@ -1,7 +1,7 @@ import * as mongo from 'mongodb'; import * as deepcopy from 'deepcopy'; import rap from '@prezzemolo/rap'; -import db, { dbLogger } from '../db/mongodb'; +import db from '../db/mongodb'; import isObjectId from '../misc/is-objectid'; import { packMany as packNoteMany } from './note'; import Following from './following'; @@ -12,6 +12,7 @@ import config from '../config'; import FollowRequest from './follow-request'; import fetchMeta from '../misc/fetch-meta'; import Emoji from './emoji'; +import { dbLogger } from '../db/logger'; const User = db.get('users'); -- cgit v1.2.3-freya