• nodejs总结之日志模块log4js


      1 /**
      2  * npm install log4js
      3  * 源码及文档地址:https://github.com/nomiddlename/log4js-node
      4  */
      5 var log4js = require('log4js');
      6 
      7 /**
      8  * 第一种:
      9  * configure方法为配置log4js对象,内部有levels、appenders、categories三个属性
     10  * levels:
     11  *         配置日志的输出级别,共ALL<TRACE<DEBUG<INFO<WARN<ERROR<FATAL<MARK<OFF八个级别,default level is OFF
     12  *         只有大于等于日志配置级别的信息才能输出出来,可以通过category来有效的控制日志输出级别
     13  * appenders:
     14  *         配置文件的输出源,一般日志输出type共有console、file、dateFile三种
     15  *         console:普通的控制台输出
     16  *         file:输出到文件内,以文件名-文件大小-备份文件个数的形式rolling生成文件
     17  *         dateFile:输出到文件内,以pattern属性的时间格式,以时间的生成文件
     18  * replaceConsole:
     19  *         是否替换控制台输出,当代码出现console.log,表示以日志type=console的形式输出
     20  *                 
     21  */
     22 
     23 log4js.configure({
     24     levels: {
     25         'log_file' : 'info'
     26     },
     27     appenders : [
     28         {
     29             type : 'console',
     30             category: "console"
     31         },
     32         {
     33             type : 'stdout'
     34         },
     35         {
     36             type : 'file',
     37             filename: __dirname + '/logs/test.log',//文件目录,当目录文件或文件夹不存在时,会自动创建
     38             maxLogSize : 10,//文件最大存储空间,当文件内容超过文件存储空间会自动生成一个文件test.log.1的序列自增长的文件
     39             backups : 3,//default value = 5.当文件内容超过文件存储空间时,备份文件的数量
     40             //compress : true,//default false.是否以压缩的形式保存新文件,默认false。如果true,则新增的日志文件会保存在gz的压缩文件内,并且生成后将不被替换,false会被替换掉
     41             encoding : 'utf-8',//default "utf-8",文件的编码
     42             category : 'log_file'
     43         },
     44         {
     45             type: "dateFile",
     46             filename: __dirname + '/logs/dateFileTest',//您要写入日志文件的路径
     47             alwaysIncludePattern: true,//(默认为false) - 将模式包含在当前日志文件的名称以及备份中
     48             //compress : true,//(默认为false) - 在滚动期间压缩备份文件(备份文件将具有.gz扩展名)
     49             pattern: "-yyyy-MM-dd-hh.log",//(可选,默认为.yyyy-MM-dd) - 用于确定何时滚动日志的模式。格式:.yyyy-MM-dd-hh:mm:ss.log
     50             encoding : 'utf-8',//default "utf-8",文件的编码
     51             category:"log_date",
     52         }
     53     ],
     54     replaceConsole: true
     55 });
     56 
     57 /**
     58  * 第二种
     59  * appenders:
     60  *         一个JS对象,key为上面的category,value是一些其他属性值
     61  * categories:
     62  *         default表示log4js.getLogger()获取找不到对应的category时,使用default中的日志配置
     63  *         
     64  */
     65 /*
     66 log4js.configure(
     67           {
     68             appenders: {
     69               file: {
     70                   type : 'file',
     71                 filename: __dirname + '/logs/test.log',//文件目录,当目录文件或文件夹不存在时,会自动创建
     72                 maxLogSize : 10,//文件最大存储空间,当文件内容超过文件存储空间会自动生成一个文件test.log.1的序列自增长的文件
     73                 backups : 3,//当文件内容超过文件存储空间时,备份文件的数量
     74                 //compress : true,//是否以压缩的形式保存新文件,默认false。如果true,则新增的日志文件会保存在gz的压缩文件内,并且生成后将不被替换,false会被替换掉
     75                 encoding : 'utf-8',//default "utf-8",文件的编码
     76                 category : 'log_file'
     77                 numBackups: 5, // keep five backup files
     78                 compress: true, // compress the backups
     79                 encoding: 'utf-8',
     80               },
     81               dateFile: {
     82                 type: 'dateFile',
     83                 filename: 'more-important-things.log',
     84                 pattern: 'yyyy-MM-dd-hh',
     85                 compress: true
     86               },
     87               out: {
     88                 type: 'stdout'
     89               }
     90             },
     91             categories: {
     92               default: { appenders: ['file', 'dateFile', 'out'], level: 'trace' }
     93             }
     94           }
     95         );
     96 */
     97 var logger = log4js.getLogger('log_file');
     98 var logger1 = log4js.getLogger('log_date');
     99 
    100 logger.info("this is a log4js test1111111111111!");
    101 logger1.info("this is a log4js test1111111111111!");
    102 console.log("test test!!");
  • 相关阅读:
    Textbox 自动调节高度
    Sharepoint 2010 备份与恢复 (二)
    Sharepoint 2010 备份与恢复 (一)
    Sharepoint 查看站点集是否锁住状态
    Sharepoint安装Infopath Service
    php分页显示类——在线拍卖行(1)
    php一个比较基础的文件上传的代码
    html表单的type属性
    JQuery简单表单验证
    最近的一些思考,感悟和理解。
  • 原文地址:https://www.cnblogs.com/atp-sir/p/7070050.html
Copyright © 2020-2023  润新知