zoukankan      html  css  js  c++  java
  • nodejs日志管理log4js

    常用的2种配置:

    1.按文件大小分片,备份若干数量的文件

    var log4js = require('log4js');
    
    log4js.configure({
        "appenders" : [
            {"type" : "console"},
            {
                "type" : "file",
                "filename" : "logs/app.log",
                "maxLogSize" : 204800,
                "backups" : 10,
                "category" : "app"
            }
        ],
        "replaceConsole": true,
        "levels" : {
            "app" : "ALL"
        }
    });
    
    var logger = log4js.getLogger('app');
    
    app.use(log4js.connectLogger(logger, {format: ':remote-addr :method :url :status :response-time ms'})

    2.按日期分片,此分片方式不可以进行大小和备份数量的限制

    var log4js = require('log4js');
    
    log4js.configure({
        appenders : [
            {type : 'console'},
            {
                type : 'dateFile',
                filename : 'logs/app',
                pattern : '-yyyy-MM-dd.log',
                alwaysIncludePattern : true,
                category : 'app'
            }
        ],
        replaceConsole: true
    });
    var logger = log4js.getLogger('app');
    
    app.use(log4js.connectLogger(logger, {level: 'ALL', format: ':remote-addr :method :url :status :response-time ms'}));

    多类型多应用文件分片配置:

    log4js.configure({
        "appenders" : [
            {"type" : "console"},
            {
                "type" : "file",
                "filename" : "logs/app1.log",
                "maxLogSize" : 204800,
                "backups" : 10,
                "category" : "app1"
            },
            {
                "type" : "file",
                "filename" : "logs/app2.log",
                "maxLogSize" : 204800,
                "backups" : 10,
                "category" : "app2"
            },
            {
                "type" : "file",
                "filename" : "logs/app3.log",
                "maxLogSize" : 204800,
                "backups" : 10,
                "category" : "app3"
            }
        ],
        "replaceConsole": true,
        "levels" : {
            "app1" : "ALL",  //等级可以设置ALL,AUTO,INFO,WARN,ERROR
            "app2" : "ALL",
            "app3" : "ALL"
        }
    });

    模块化:

    1.定义配置文件log4js.json

    {
        "appenders" : [
            {"type" : "console"},
            {
                "type" : "dateFile",
                "filename" : "logs/app",
                "pattern" : "-yyyy-MM-dd.log",
                "alwaysIncludePattern" : true,
                "category" : "app"
            }
        ],
        "replaceConsole": true,
        "levels" : {
            "app" : "ALL"
        }
    }

    2.自定义模块ms.js

    /*
     * log4js
     */
    var log4js = require("log4js");
    exports.log4js_config = require("../log4js.json");
    log4js.configure(this.log4js_config);
    exports.logger = log4js.getLogger("app");

    3.使用方法

    var ms = require("ms");
    
    ms.logger.info("INFO TEST");
    ms.logger.warn("WARN TEST");
    ms.logger.error("ERROR TEST");
  • 相关阅读:
    关于 0xCCCCCCCC
    extern "C" 和 DEF 文件.
    Visual Studio 编译纯 C 项目的方法
    Virtual Box 增加虚拟硬盘容量
    Java三种代理模式:静态代理、动态代理和cglib代理
    java集合框架综述
    JsonAutoDetect注解找不到错误
    SpringBoot整合Redis
    Spring重要注解@ControllerAdvice
    SpringBoot整合+logback日志配置
  • 原文地址:https://www.cnblogs.com/kevalin/p/4757027.html
Copyright © 2011-2022 走看看