Log4j 配置某个类中某个方法的输出日志到指定文件

转载自: http://www.cnblogs.com/FlyHeLanMan/p/7682597.html
我们在项目中使用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

# 是自定义的一个logger
log4j.logger.singleLoginInfo=info,singleLoginInfo
# 指定该logger不会使用父logger的配置,也就是说不会在console输出。
log4j.additivity.singleLoginInfo=false 
log4j.appender.singleLoginInfo=org.apache.log4j.FileAppender
log4j.appender.singleLoginInfo.layout=org.apache.log4j.PatternLayout
log4j.appender.singleLoginInfo.layout.ConversionPattern=[%d{yy-MM-dd HH\:mm\:ss}] %m%n
# log4j.appender.payInfo.File=d:/log4j.txt
log4j.appender.singleLoginInfo.File=${webApp.root}/logs/singleLoginInfo.log
# true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true
log4j.appender.singleLoginInfo.Append=true

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

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

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

代码中使用如下:

@Controller
@RequestMapping(" single")
public class SingleController extends BaseController{

    Logger singleLoginInfo = Logger.getLogger("singleLoginInfo");
    
    Logger infoLogger = Logger.getLogger(SingleController.class);
    
    @RequestMapping("test")
    public void test(HttpServletRequest request, HttpServletResponse response){
        t2();
        singleLoginInfo.info("这是支付的日志");
    }
    private void t2(){
        singleLoginInfo.info("这是info的日志");
    }
}

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

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

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

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值