设为首页 收藏本站
查看: 1025|回复: 0

[经验分享] Tomcat 配置 log4j(转)

[复制链接]

尚未签到

发表于 2015-8-8 11:27:28 | 显示全部楼层 |阅读模式
  一、tomcat级别的统一日志管理(没有实际验证过,只是查了资料):
在tomcat的common/lib下增加log4j的.jar包,以便程序使用的时候,能够加载到。
在自己的webapps的WEB-INF/classes下添加log4j.properties配置,所有的东西都是自动的

这种方式的缺点很明显,一个tomcat可能会多个子webapps,都统一到一个日志下,非常不便于管理。所以重点看下面

二、每个webapp分别配置log4j(切实可行的实践经验)
1、在自己youapp的WEB-INF/lib下增加log4j-xxx.jar文件
2、自己写一个servlet,初始化log4j的相关配置信息:
Java代码  
    import javax.servlet.ServletException;   
    import javax.servlet.ServletRequest;   
    import javax.servlet.ServletResponse;   
    import javax.servlet.http.HttpServlet;   
    import org.apache.log4j.PropertyConfigurator;   
      
    public class Log4jInitServlet extends HttpServlet {   
        public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {           
        }   
           
        public void init() throws ServletException {   
            System.setProperty("webappRoot", getServletContext().getRealPath("/"));        
            PropertyConfigurator.configure(getServletContext().getRealPath("/") + getInitParameter("configfile"));   
        }   
    }  
3、修改web.xml文件,让tomcat启动你app的时候自动加载刚才这个servlet:
Xml代码  
      
      
      
        log4j config file  
        com.keepc.util.Log4jInitServlet  
         
            configfile  
            /WEB-INF/classes/log4j.properties  
         
           
        1  
      
4、在youapp/WEB-INF/classes先新建log4j.properties文件,内容如下:
log4j.rootLogger=debug, A1
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.file=${webappRoot}/logs/youapp_log-
log4j.appender.A1.DatePattern=yyyy-MM-dd'.log'
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss, SSS}[%c]-[%p] %m%n
5、重新启动tomcat,即可在你的youapp应用目录下看到logs目录和对应的log文件
#:这里说道的webapp目录是指:c:\program files\tomcat\webapps\youapp目录
6、在你的app目录下创建一个jsp做下测试:
Html代码  
      
      
      
      
    测试页面  
      
      
      
      
      
      
      
      
在你的浏览器调用下这个jsp,就可以看到日志内容了。

本方法在windows和linux下都通用,完全一样。
只与log4j.properties的详细配置方法,网上随便google下都有一箩筐,照抄就是了。
  
tomcat5.5 下的log4j日志文件 配置过程
  
  如果不是找5.5的而找6.0的可以参考:tomcat6.0 下的log4j日志文件 配置过程
   http://sibianzhizhi.iteye.com/blog/209511
=============================================================================
以下为5.5的配置过程:
log4j.properties放在%CATALINA_HOME%\conf\common\classes下
  # 设定logger的root level为DEBUG,指定的输出目的地(appender)为file
log4j.rootLogger=INFO, file , stdout
  # 设定stdout控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{HH:mm:ss}] %5p %c{2} \"%m\"%n
  # 设定输出位置,此处设定tomcat目录的logs下,文件名为bugmgrsys.log。
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=${catalina.home}/logs/bugmgrsys.log
log4j.appender.file.MaxFileSize=1024KB
  # 设定制定的file使用的PatternLayout.
# 有关ConversionPattern中的转意字符的含义参考说明
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{HH:mm:ss} %-5p [%C] (%F:%L) - %m%n
  
  log4j.jar放于%CATALINA_HOME%\common\lib下
  
  高级篇:
  查了很多人写的资料如果要产生bugmgrsys_2008_05_09.log文件是可能的。不过,注意了是不过,
  不过这个文件也只有05月09号过去了这个文件才会产生,而当天的文件是bugmgrsys
  为什么会这样呢,不妨碍来看看配置文件吧。我是在上述文件上改的 = =
  # 设定logger的root level为DEBUG,指定的输出目的地(appender)为file
log4j.rootLogger=INFO, file , stdout
  # 设定stdout控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{HH:mm:ss}] %5p %c{2} \"%m\"%n
  # 设定输出位置,此处设定tomcat目录的logs下,文件名为bugmgrsys.log。
#log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.file.File=${catalina.home}/logs/bugmgrsys
#log4j.appender.file.MaxFileSize=1024KB
  # 设定制定的file使用的PatternLayout.
# 有关ConversionPattern中的转意字符的含义参考说明
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{HH:mm:ss} %-5p [%C] (%F:%L) - %m%n
#log4j.appender.file.layout.ConversionPattern=%d %-5p [%t] %C{2} (%F:%L) - %m%n
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-95588-1-1.html 上篇帖子: Java-Tomcat 5.5 下的JNDI 下篇帖子: tomcat启动项目被重新加载,导致资源初始化两遍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表