أهلا،
لقد استخدمت وظيفة التنسيق الخاصة بك لتوفير تنسيق مخصص لرسائل السجل الخاصة بي. إنه يعمل بشكل مثالي للنقل. كونسول ولكن النقل. طبقات ملف لتجاهل المنسق المخصص.
هيريس منسق ملفي المخصص:
function customFileFormatter (options) {
// Return string will be passed to logger.
return options.timestamp() +' ['+ options.level.toUpperCase() +'] '+ (undefined !== options.message ? options.message : '') +
(options.meta && Object.keys(options.meta).length ? '\n\t'+ JSON.stringify(options.meta) : '' );
}
من الضروري المسجل المعطى في مثالك. أطبقه على هذا النحو:
winston.add(winston.transports.File, {
name: 'info-file',
filename: logPath + '/info.log',
level: 'info',
maxsize: 15000000,
formatter: customFileFormatter
});
لكن الإخراج في ملف التسجيل يبقى كما هو:
{"level":"info","message":"INITIALISEING","timestamp":"2015-04-02T06:29:57.982Z"}
يجب أن يكون:
{"level":"[INFO]","message":"INITIALISEING","timestamp":"2015-04-02T06:29:57.982Z"}
لا أعرف ما هو الخطأ لأن نفس الشيء يعمل مع النقل.
الرجاء المساعدة
تحية طيبة
توناكيت
حسنا لا بأس.
نسيت أن تحدد
json: false
ولكن سيكون رائعًا إذا كان بإمكانك تغيير بعض الحقول فقط في تسجيل json :)
استغرقت بعض الشيء لمعرفة مكان تعيين "json: false". قم بتعيينه على نقل الملفات. هذا هو المثال الخاص بي:
const logFormatter = function(options) {
// Return string will be passed to logger.
return options.timestamp() +` `+ options.level.toUpperCase() +
` `+ (options.message ? options.message : ``) +
(options.meta && Object.keys(options.meta).length ?
`\n\t`+ JSON.stringify(options.meta) : `` );
};
const timestamp = function() {
const d = new Date();
return d.getHours() + `:` + d.getMinutes() + `:` +
d.getSeconds() + `m` + d.getMilliseconds();
};
const logger = new (winston.Logger)({
transports: [
new (winston.transports.File)({
timestamp: timestamp,
formatter: logFormatter,
level: `silly`,
name: `fileAll`,
filename: `fileAll.log`,
json: false, // set json:false on the file transport(s)
})
]
});
المنسق يعمل بشكل جيد بالنسبة لي ولكن الطابع الزمني يطبع دائمًا سلسلة حرفية
وظيفة () {
const د = تاريخ جديد () ؛
إرجاع d.getHours () + :
+ d.getMinutes () + :
+
d.getSeconds () + m
+ d.getMilliseconds () ؛
} | تصحيح | رسالة من أجل التصحيح
وظيفة () {
const د = تاريخ جديد () ؛
إرجاع d.getHours () + :
+ d.getMinutes () + :
+
d.getSeconds () + m
+ d.getMilliseconds () ؛
} | الطوارئ | رسالة من أجل التصحيح
حسنا لا بأس.
نسيت أن تحدد
json: false
ولكن سيكون رائعًا إذا كان بإمكانك تغيير بعض الحقول فقط في تسجيل json :)
لقد وفرت وقتي! أتساءل أين تم توثيق هذا ..
التعليق الأكثر فائدة
حسنا لا بأس.
نسيت أن تحدد
json: false
ولكن سيكون رائعًا إذا كان بإمكانك تغيير بعض الحقول فقط في تسجيل json :)