[Server] Use logger for logging

This commit is contained in:
syuilo 2019-02-03 04:18:27 +09:00
parent 110eeb89f1
commit 238c6a428b
No known key found for this signature in database
GPG key ID: BDC4C49D06AB9D69
5 changed files with 34 additions and 30 deletions

View file

@ -0,0 +1,3 @@
import { remoteLogger } from "../logger";
export const apLogger = remoteLogger.createSubLogger('ap', 'magenta');

View file

@ -1,7 +1,6 @@
import { request } from 'https';
import { sign } from 'http-signature';
import { URL } from 'url';
import * as debug from 'debug';
import * as crypto from 'crypto';
import { lookup, IRunOptions } from 'lookup-dns-cache';
import * as promiseAny from 'promise-any';
@ -9,11 +8,12 @@ import * as promiseAny from 'promise-any';
import config from '../../config';
import { ILocalUser } from '../../models/user';
import { publishApLogStream } from '../../stream';
import { apLogger } from './logger';
const log = debug('misskey:activitypub:deliver');
export const logger = apLogger.createSubLogger('deliver');
export default (user: ILocalUser, url: string, object: any) => new Promise(async (resolve, reject) => {
log(`--> ${url}`);
logger.info(`--> ${url}`);
const timeout = 10 * 1000;
@ -43,7 +43,7 @@ export default (user: ILocalUser, url: string, object: any) => new Promise(async
'Digest': `SHA-256=${hash}`
}
}, res => {
log(`${url} --> ${res.statusCode}`);
logger.info(`${url} --> ${res.statusCode}`);
if (res.statusCode >= 400) {
reject(res);

View file

@ -1,9 +1,9 @@
import * as request from 'request-promise-native';
import * as debug from 'debug';
import { IObject } from './type';
import config from '../../config';
import { apLogger } from './logger';
const log = debug('misskey:activitypub:resolver');
export const logger = apLogger.createSubLogger('resolver');
export default class Resolver {
private history: Set<string>;
@ -67,7 +67,7 @@ export default class Resolver {
!object['@context'].includes('https://www.w3.org/ns/activitystreams') :
object['@context'] !== 'https://www.w3.org/ns/activitystreams'
)) {
log(`invalid response: ${value}`);
logger.error(`invalid response: ${value}`);
throw new Error('invalid response');
}

View file

@ -3,7 +3,6 @@ import * as fs from 'fs';
import * as mongodb from 'mongodb';
import * as crypto from 'crypto';
import * as debug from 'debug';
import * as Minio from 'minio';
import * as uuid from 'uuid';
import * as sharp from 'sharp';
@ -23,8 +22,7 @@ import driveChart from '../../chart/drive';
import perUserDriveChart from '../../chart/per-user-drive';
import fetchMeta from '../../misc/fetch-meta';
import { GenerateVideoThumbnail } from './generate-video-thumbnail';
const log = debug('misskey:drive:add-file');
import { driveLogger } from './logger';
/***
* Save file
@ -42,7 +40,7 @@ async function save(path: string, name: string, type: string, hash: string, size
let webpublicType = 'image/jpeg';
if (!metadata.uri) { // from local instance
log(`creating web image`);
driveLogger.info(`creating web image of ${name}`);
if (['image/jpeg'].includes(type)) {
webpublic = await sharp(path)
@ -83,10 +81,10 @@ async function save(path: string, name: string, type: string, hash: string, size
webpublicExt = 'png';
webpublicType = 'image/png';
} else {
log(`web image not created (not an image)`);
driveLogger.info(`web image not created (not an image)`);
}
} else {
log(`web image not created (from remote)`);
driveLogger.info(`web image not created (from remote)`);
}
// #endregion webpublic
@ -123,7 +121,7 @@ async function save(path: string, name: string, type: string, hash: string, size
try {
thumbnail = await GenerateVideoThumbnail(path);
} catch (e) {
console.log(`GenerateVideoThumbnail failed: ${e}`);
driveLogger.error(`GenerateVideoThumbnail failed: ${e}`);
}
}
// #endregion thumbnail
@ -141,18 +139,18 @@ async function save(path: string, name: string, type: string, hash: string, size
const webpublicKey = `${config.drive.prefix}/${uuid.v4()}.${webpublicExt}`;
const thumbnailKey = `${config.drive.prefix}/${uuid.v4()}.${thumbnailExt}`;
log(`uploading original: ${key}`);
driveLogger.info(`uploading original: ${key}`);
const uploads = [
upload(key, fs.createReadStream(path), type)
];
if (webpublic) {
log(`uploading webpublic: ${webpublicKey}`);
driveLogger.info(`uploading webpublic: ${webpublicKey}`);
uploads.push(upload(webpublicKey, webpublic, webpublicType));
}
if (thumbnail) {
log(`uploading thumbnail: ${thumbnailKey}`);
driveLogger.info(`uploading thumbnail: ${thumbnailKey}`);
uploads.push(upload(thumbnailKey, thumbnail, thumbnailType));
}
@ -202,7 +200,7 @@ async function save(path: string, name: string, type: string, hash: string, size
fs.createReadStream(path).pipe(writeStream);
});
log(`original stored to ${originalFile._id}`);
driveLogger.info(`original stored to ${originalFile._id}`);
// #endregion store original
// #region store webpublic
@ -222,7 +220,7 @@ async function save(path: string, name: string, type: string, hash: string, size
writeStream.end(webpublic);
});
log(`web stored ${webFile._id}`);
driveLogger.info(`web stored ${webFile._id}`);
}
// #endregion store webpublic
@ -242,7 +240,7 @@ async function save(path: string, name: string, type: string, hash: string, size
writeStream.end(thumbnail);
});
log(`thumbnail stored ${tuhmFile._id}`);
driveLogger.info(`thumbnail stored ${tuhmFile._id}`);
}
return originalFile;
@ -351,7 +349,7 @@ export default async function(
const [hash, [mime, ext], size] = await Promise.all([calcHash, detectMime, getFileSize]);
log(`hash: ${hash}, mime: ${mime}, ext: ${ext}, size: ${size}`);
driveLogger.info(`hash: ${hash}, mime: ${mime}, ext: ${ext}, size: ${size}`);
// detect name
const detectedName = name || (ext ? `untitled.${ext}` : 'untitled');
@ -365,7 +363,7 @@ export default async function(
});
if (much) {
log(`file with same hash is found: ${much._id}`);
driveLogger.info(`file with same hash is found: ${much._id}`);
return much;
}
}
@ -395,7 +393,7 @@ export default async function(
return 0;
});
log(`drive usage is ${usage}`);
driveLogger.info(`drive usage is ${usage}`);
const instance = await fetchMeta();
const driveCapacity = 1024 * 1024 * (isLocalUser(user) ? instance.localDriveCapacityMb : instance.remoteDriveCapacityMb);
@ -438,12 +436,12 @@ export default async function(
// Calc width and height
const calcWh = async () => {
log('calculate image width and height...');
driveLogger.info('calculating image width and height...');
// Calculate width and height
const meta = await img.metadata();
log(`image width and height is calculated: ${meta.width}, ${meta.height}`);
driveLogger.info(`image width and height is calculated: ${meta.width}, ${meta.height}`);
properties['width'] = meta.width;
properties['height'] = meta.height;
@ -451,7 +449,7 @@ export default async function(
// Calc average color
const calcAvg = async () => {
log('calculate average color...');
driveLogger.info('calculating average color...');
try {
const info = await (img as any).stats();
@ -460,7 +458,7 @@ export default async function(
const g = Math.round(info.channels[1].mean);
const b = Math.round(info.channels[2].mean);
log(`average color is calculated: ${r}, ${g}, ${b}`);
driveLogger.info(`average color is calculated: ${r}, ${g}, ${b}`);
const value = info.isOpaque ? [r, g, b] : [r, g, b, 255];
@ -516,14 +514,14 @@ export default async function(
} catch (e) {
// duplicate key error (when already registered)
if (e.code === 11000) {
log(`already registered ${metadata.uri}`);
driveLogger.info(`already registered ${metadata.uri}`);
driveFile = await DriveFile.findOne({
'metadata.uri': metadata.uri,
'metadata.userId': user._id
});
} else {
console.error(e);
driveLogger.error(e);
throw e;
}
}
@ -531,7 +529,7 @@ export default async function(
driveFile = await (save(path, detectedName, mime, hash, size, metadata));
}
log(`drive file has been created ${driveFile._id}`);
driveLogger.succ(`drive file has been created ${driveFile._id}`);
pack(driveFile).then(packedFile => {
// Publish driveFileCreated event

View file

@ -0,0 +1,3 @@
import Logger from "../../misc/logger";
export const driveLogger = new Logger('drive', 'blue');