如何解决无法读取未定义的属性“长度”在温斯顿
我的 Winston Transport 在我的 MERN 应用程序的快速后端出现以下错误:
error: uncaughtException: Cannot read property 'length' of undefined
TypeError: Cannot read property 'length' of undefined
at DerivedLogger.add (/Users/user-2/bulk-code/platform-v2/node_modules/winston/lib/winston/logger.js:344:45)
at DerivedLogger.transportEvent (/Users/user-2/bulk-code/platform-v2/node_modules/winston/lib/winston/logger.js:628:14)
at LegacyTransportStream.emit (events.js:327:22)
at LegacyTransportStream.EventEmitter.emit (domain.js:467:12)
at LegacyTransportStream.transportError (/Users/user-2/bulk-code/platform-v2/node_modules/winston-transport/legacy.js:32:10)
at exports.Papertrail.emit (events.js:315:20)
at exports.Papertrail.EventEmitter.emit (domain.js:467:12)
at exports.Papertrail.Papertrail._silentErrorEmitter (/Users/user-2/bulk-code/platform-v2/node_modules/winston-papertrail/lib/winston-papertrail.js:479:8)
at TLSSocket.onErrored (/Users/user-2/bulk-code/platform-v2/node_modules/winston-papertrail/lib/winston-papertrail.js:236:8)
at Object.onceWrapper (events.js:422:26)
at TLSSocket.emit (events.js:315:20)
at TLSSocket.EventEmitter.emit (domain.js:467:12)
at emitErrorNT (internal/streams/destroy.js:106:8)
at emitErrorCloseNT (internal/streams/destroy.js:74:3)
at processTicksAndRejections (internal/process/task_queues.js:80:21)
我的记录器的代码如下所示:
import { object } from "joi";
const winston = require("winston");
require("winston-papertrail").Papertrail;
const levels = {
error: 0,warn: 1,info: 2,http: 3,debug: 4,};
const level = () => {
const env = process.env.NODE_ENV || "development";
const isDevelopment = env === "development";
return isDevelopment ? "debug" : "warn";
};
const colors = {
error: "red",warn: "yellow",info: "green",http: "magenta",debug: "white",};
const format = winston.format.combine(
winston.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss:ms" }),winston.format.colorize({ all: true }),winston.format.printf(
(info: any) => `${info.timestamp} ${info.level}: ${info.message}`
)
);
var console = {
level: "debug",handleExceptions: true,json: false,colorize: true,};
var error_file = {
filename: "./src/logger/logs/error.log",level: "error",};
var file = {
level: "info",filename: "./src/logger/logs/app.log",json: true,maxsize: 5242880,// 5MB
maxFiles: 5,};
var winstonPapertrail = {
host: "logs5.papertrailapp.com",port: 32019,};
const transports = [
new winston.transports.Console(console),new winston.transports.File(file),new winston.transports.File(error_file),new winston.transports.Papertrail(winstonPapertrail),];
//catches uncaught errors
const exceptionHandlers = [
new winston.transports.File({ filename: "exceptions.log" }),];
const Logger = winston.createLogger({
level: level(),levels,format,transports,exceptionHandlers,exitOnError: false,});
export default Logger;
任何人都可以帮助这个错误可能发生的地方吗?该应用程序运行良好,但在终端处于空闲模式数小时后,它只会引发此错误。我确实了解某个地方的变量返回 null,但我不确定在哪里。有人可以帮忙吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。