• java web使用log4j无法写入到日志文件


    项目环境

    1.项目类型:java web

    2.web容器:tomcat

    3.框架:spring

    4.调用代码:spring配置的定时任务,任务执行类用@Component注入(开始还以为是这里出了问题 ̄□ ̄||)

    主要现象

    1.启动tomcat后,发现日志无法写入

    2.删除日志文件再次启动,日志文件没有新建

    3.单独在类中执行main方法里的log操作可以写入到文件中

    4.启动tomcat后,日志可以输入到控制台,但是不能写入到文件中

    log4j.properties

    ####写入到文件!!没反应######
    log4j.logger.exceptions=info, exceptions
    log4j.appender.exceptions=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.exceptions.DatePattern='.'yyyyMMdd
    log4j.appender.exceptions.File=/data/wapage/log/appmanager/exceptions.log
    log4j.appender.exceptions.layout=org.apache.log4j.PatternLayout
    log4j.appender.exceptions.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} | %m%n
    ######输入到控制台!!有输出###########
    log4j.logger.test=info, A
    log4j.appender.A=org.apache.log4j.ConsoleAppender 
    log4j.appender.A.layout=org.apache.log4j.PatternLayout 
    log4j.appender.A.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} | %m%n

    解决方案

    问题在于日志文件的路径配置上

    文件路径要指定绝对路径不能指定相对路径

    配置成相对路径是,eclipse下能生成相对应的日志文件,但是web容器启动的时候是找不到这个路径的(为什么找不到,不是很清楚)。

    感谢解决方案作者:feiyeguohai http://feiyeguohai.iteye.com/blog/1824961

  • 相关阅读:
    C#:新邮件监听及搜索
    PHPexcel导入数据的时候出现object解决方法
    selectpage选择订单的时候,订单数量和金额会动态改变
    三、变量的简述
    TP框架where条件和whereOr条件同时使用
    一.OS运行机制
    二.进制简述
    1.go语言入门
    C# Redis学习系列二:Redis基本设置
    C# Redis学习系列一:Redis的认识、下载、安装、使用
  • 原文地址:https://www.cnblogs.com/erbin/p/4318216.html
Copyright © 2020-2023  润新知