Node.js记录

node.js Node.js

A村村

2020-03-24

是否有任何库可以帮助我处理Node.Js应用程序中的日志记录?我要做的是,我想将所有日志写入文件,并且还需要一个选项,例如在特定大小或日期后推出文件。


我并入了log4js,试图将所有配置详细信息保留在一个文件中,并且仅使用其他应用程序文件中的方法来简化维护。但是它没有按预期工作。这是我想要做的

var log4js = require('log4js'); 
log4js.clearAppenders()
log4js.loadAppender('file');
log4js.addAppender(log4js.appenders.file('test.log'), 'test');
var logger = log4js.getLogger('test');
logger.setLevel('ERROR');


var traceLogger = function (message) {
        logger.trace('message');
    };

var errorLogger = function (message) {
        logger.trace(message);
    };


exports.trace = traceLogger;
exports.error = errorLogger;

我已将此文件包含在其他文件中并尝试

log.error ("Hello Error Message");

但这是行不通的。这有什么问题吗?

第3265篇《Node.js记录》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

4个回答
小哥JinJin 2020.03.24

观察errorLogger周围的包装logger.trace但是logger的级别为ERROR,因此logger.trace不会将其消息记录logger的附加程序中。

解决方法是改变logger.tracelogger.error在体内errorLogger

番长猴子 2020.03.24

Log4js是用于nodejs应用程序的最流行的日志记录库之一。

它支持许多很酷的功能:

  1. 彩色控制台记录
  2. 替换节点的console.log函数(可选)
  3. 文件附加器,根据文件大小进行日志滚动
  4. SMTP,GELF,hook.io,Loggly附加程序
  5. 多进程附加程序(在具有辅助进程时很有用)
  6. 连接器/快速服务器的记录器
  7. 可配置的日志消息布局/模式
  8. 不同日志类别的日志级别不同(将应用程序日志的某些部分设置为DEBUG,其他部分仅设置为ERRORS等)

例:

  1. 安装: npm install log4js

  2. 配置(./config/log4js.json):

    {"appenders": [
        {
            "type": "console",
            "layout": {
                "type": "pattern",
                "pattern": "%m"
            },
            "category": "app"
        },{
            "category": "test-file-appender",
            "type": "file",
            "filename": "log_file.log",
            "maxLogSize": 10240,
            "backups": 3,
            "layout": {
                "type": "pattern",
                "pattern": "%d{dd/MM hh:mm} %-5p %m"
            }
        }
    ],
    "replaceConsole": true }
    
  3. 用法:

    var log4js = require( "log4js" );
    log4js.configure( "./config/log4js.json" );
    var logger = log4js.getLogger( "test-file-appender" );
    // log4js.getLogger("app") will return logger that prints log to the console
    logger.debug("Hello log4js");// store log in file
    
DavaidTony宝儿 2020.03.24

您也可以使用https://npmjs.org/doc/coding-style.html中推荐的issacs使用npmlog

您可以在这里找到此模块 https://github.com/isaacs/npmlog

老丝 2020.03.24

Scribe.JS轻型记录仪

我浏览了许多记录器,但找不到一个轻量级的解决方案-因此,我决定制作一个发布在github上的简单解决方案。

  • 保存按用户,日期和级别组织的文件
  • 给您漂亮的输出(我们都喜欢)
  • 易于使用的HTML界面

我希望这能够帮到你。

在线演示

http://bluejamesbond.github.io/Scribe.js/

对日志的安全Web访问

一种

太漂亮的文本打印到控制台!

一种

网络访问

一种

Github

https://github.com/bluejamesbond/Scribe.js

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android