zoukankan      html  css  js  c++  java
  • log4j 输出原始数据到指定日志文件

    项目中需要将上传的数据输出到指定的log文件,之前对log4j缺少深入认识,普遍将整个应用的日志到输出到一个文件。

    在经理的帮助下,业务数据可以直接输出到指定的log文件,现将配置及使用流程整理一下。

    log4j.properties配置

    log4j.logger.userLog= INFO,userLogFile
    log4j.appender.userLogFile = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.userLogFile.File=/data/userlogs/users.log
    log4j.appender.userLogFile.MaxFileSize=1000mb
    log4j.appender.userLogFile.Threshold=INFO
    log4j.appender.userLogFile.layout=org.apache.log4j.PatternLayout
    log4j.appender.userLogFile.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n

    userLog是logger的一个类别名字。可以在程序中 Logger.getLogger("userLog");直接获得到此logger.

    appender在此不做过多解释,它只是一个日志输出的方式。

    MaxFileSize 文件占用磁盘存储的最大size。

    Threshold对哪些信息记录。

    ConversionPattern

    %p 日志级别

    %d{yy-MM-dd} 时间格式

    %c 类别名字,这里是userLog

    %m 实际的内容,也就是信息message, log.info(message);

    %n 换行。

     注: rootLogger是属于应用的唯一、顶级的logger。将特定的数据输出到特定的log文件,则不能使用rootLogger,要使用自己定义的logger

    import com.alibaba.fastjson.JSONObject;
    public
    class Controller { Logger logger = Logger.getLogger("userLog");   @RequestMapping(value="/data/saveData",method={RequestMethod.POST,RequestMethod.GET})   public char savaDataAction(final HttpServletRequest request, final PlayData data) {       // 转为json字符串后记录下来       String json = JSONObject.toJSONString(data); logger.info(json);       return '1';   }
    }
  • 相关阅读:
    测试面试题集-Python列表去重
    Python列表去重
    测试面试题集-Python花式打印九九乘法口诀表
    Linux之系统操作命令
    Selenium自动化测试-JavaScript定位
    HDU-3530Subsequence (单调队列)
    HihoCoder
    CodeForces
    HDU-1024Max Sum Plus Plus(最大m段子序列和-DP)
    LightOJ
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/8681908.html
Copyright © 2011-2022 走看看