热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

详解Log4j日志文件存放位置设置

这篇文章主要介绍了详解Log4j日志文件存放位置设置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

以DailyRollingFileAppender 为例:假设每天一个日志文件

有以下设置:

log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender

log4j.appender.A1.File=app.log

log4j.appender.A1.DatePattern='.'yyyy-MM-dd

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

log4j.appender.A1.layout.COnversionPattern=%d %5p - %c -%-4r [%t]    - %m%n

经过自己测试,无法找到app.log文件 

如要将日志文件保存在 :根目录/web-info/logs/下,个人有以下4种解决方案:

1 绝对路径

log4j.appender.A1.File=D:\apache-tomcat-6.0.18/webapps/项目/WEB-INF/logs/app.log

但这种写法灵活性很差

以下3中使用相同的设置原理: jvm的环境变量

2:spring的Log4jConfigListener

通过以下配置

 
  webAppRootKey 
  webApp.root 
  
  
 log4jConfigLocation 
  classpath:log4j.properties 
  
  
   org.springframework.web.util.Log4jConfigListener  
  

log4j.appender.logfile.File=${webApp.root}/WEB-INF/logs/app.log

备注:

1、spring配置变了webAppRootKey是不能变的,值可以随意写。

2、log文件存放在tomcat工程目录/webapp(工程名称)/WEB-INF/logs/app.log文件。

2:使用已有jvm变量:

例如:

log4j.appender.logfile.File=${user.home}/logs/app.log

日志将位于:例如windows:C:\Documents and Settings\joe\logs\app.log

3 自己设置目录,也就是在项目启动时通过System.setProperty设置,通过实现ServletContextListener来解决:例如

public class log4jlistener implements ServletContextListener { 
  public static final String log4jdirkey = "log4jdir"; 
  public void contextDestroyed(ServletContextEvent servletcontextevent) { 
    System.getProperties().remove(log4jdirkey); 
  } 
  public void contextInitialized(ServletContextEvent servletcontextevent) { 
  String log4jdir = servletcontextevent.getServletContext().getRealPath("/"); 
  //System.out.println("log4jdir:"+log4jdir); 
  System.setProperty(log4jdirkey, log4jdir); 
  } 
} 

web.xml配置:

 
  com.log4j.log4jlistener 
 

log4j.prtperties 配置:

log4j.appender.A1.File=${log4jdir}/WEB-INF/logs/app1.log 来解决。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
  • 本文探讨了在Windows Server 2008环境下配置Tomcat使用80端口时遇到的问题,包括端口被占用、多项目访问失败等,并提供详细的解决方法和配置建议。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 本文介绍如何在Linux服务器之间使用SCP命令进行文件传输。SCP(Secure Copy Protocol)是一种基于SSH的安全文件传输协议,支持从远程机器复制文件到本地服务器或反之。示例包括从192.168.45.147复制tomcat目录到本地/home路径。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • Struts与Spring框架的集成指南
    本文详细介绍了如何将Struts和Spring两个流行的Java Web开发框架进行整合,涵盖从环境配置到代码实现的具体步骤。 ... [详细]
author-avatar
usx7054252
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有