zoukankan      html  css  js  c++  java
  • log4j2输出日志信息到指定文件

    我们在项目中使用log4j开发的时候,会遇到一些特殊的情况,比如:要输出某个类中某个方法的日志信息到文件中,方便以后查看

    可以使用如下配置:

    log4j.rootLogger=info,stdout

     

    log4j.appender.stdout=org.apache.log4j.ConsoleAppender

    log4j.appender.stdout.Target=System.out

    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

    log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n

    log4j.appender.stdout.encoding=UTF-8

     

    log4j.logger.payInfo=info,payInfo

    log4j.additivity.payInfo=false

    log4j.appender.payInfo=org.apache.log4j.FileAppender

    log4j.appender.payInfo.layout=org.apache.log4j.PatternLayout

    log4j.appender.payInfo.File=d:/log4j.txt

     

    其中stdout是指输出到控制台的配置。

    log4j.logger.payInfo=info,payInfo 是自定义的一个logger

    log4j.additivity.payInfo=false  指定该logger不会使用父logger的配置,也就是说不会在console输出。

    代码中使用如下:

     1     @Controller
     2     @RequestMapping("pay")
     3     public class PayController extends BaseController{
     4      
     5         Logger payLogger = Logger.getLogger("payInfo");
     6      
     7         Logger infoLogger = Logger.getLogger(PayController.class);
     8      
     9         @RequestMapping("test")
    10         public void test(HttpServletRequest request, HttpServletResponse response){
    11             t2();
    12             payLogger.info("这是支付的日志");
    13         }
    14         private void t2(){
    15             infoLogger.info("这是info的日志");
    16         }
    17     }

    Logger payLogger = Logger.getLogger("payInfo"); 这里是获取自定义的logger

    Logger infoLogger = Logger.getLogger(PayController.class); 这里获取到的就是父logger

    方法执行之后会在控制台输出infoLogger.info("这是info的日志");的内容,

    而payLogger.info("这是支付的日志");会输出到文件,并且不会在控制台输出。

  • 相关阅读:
    smarty对网页性能的影响--开启opcache
    1stopt8.0 代码示例
    1stopt、matlab和python用morris、sobol方法实现参数敏感性分析
    MATLAB 实现sobol参数敏感性分析
    matlab中自带的sobol的函数提供的sobol序列
    matlab和fortran混合编程
    mathematic语法基础
    fortran常用语句--读写带注释文档、动态数组等语法
    fortran语言调用fortran写的dll
    C语言函数指针与 c#委托和事件对比
  • 原文地址:https://www.cnblogs.com/dayangcong/p/15791030.html
Copyright © 2011-2022 走看看