LOG4J输出日志到web目录的相对路径

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:


LOG4J输出日志到web目录的相对路径 项目中必须是在使用spring


web.xml加入

<span style="font-size:18px;"><context-param>
  <param-name>webAppRootKey</param-name>
  <param-value>webApp.root</param-value>
 </context-param>

  <context-param>
  <param-name>log4jConfigLocation</param-name>
  <param-value>/WEB-INF/classes/log/log4j.properties</param-value>
 </context-param>

   <context-param>
      <param-name>log4jRefreshInterval</param-name>
      <param-value>600000</param-value>
   </context-param>  
    <listener>
      <listener-class>
        org.springframework.web.util.Log4jConfigListener
      </listener-class>
   </listener></span>



然后log4j.properties里面指定文件路径的时候就可以用${webApp.root}/......


log4j.appender.info.File=${webApp.root}/WEB-INF/logs/info.log
同时你的web项目必须有/WEB-INF/logs这个目录

:最后日志是打到你服务器上,比如我使用的tomcat服务器,我的工程是Project,日志就打到了E:\apache-tomcat-7.0.55\webapps\Project\WEB-INF\logs\info.log


具体如下:

log4j.properties文件

log4j.rootLogger =CONSOLE,INF_OUT,DEBUG,ERROR_OUT,WARN
log4j.appender.INF_OUT.encoding=UTF-8
log4j.appender.INF_OUT.StaticLogFileName=false
log4j.appender.INF_OUT.ImmediateFlush=true
log4j.appender.INF_OUT.ROLLING_FILE.MaxFileSize=10KB
log4j.addivity.org.apache=true
###############################################
#输出日志到文件中,最低级别为ERROR,每天一个文件#
log4j.appender.ERROR_OUT=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ERROR_OUT.Threshold=error
log4j.appender.ERROR_OUT.File=${webApp.root}/WEB-INF/logs/error.log
log4j.appender.ERROR_OUT.DatePattern='.'yyyy-MM-dd
log4j.appender.ERROR_OUT.Append=true
log4j.appender.ERROR_OUT.layout=org.apache.log4j.PatternLayout
log4j.appender.ERROR_OUT.layout.ConversionPattern=[%-5p][0007][0001][doshrwebService][%c][%m][method:%l][%d{ yyyy-MM-dd HH:mm:ss}]%n
###############################################
#输出日志到文件中,最低级别为info,每天一个文件
log4j.appender.INF_OUT=org.apache.log4j.DailyRollingFileAppender
log4j.appender.INF_OUT.Threshold=info
log4j.appender.INF_OUT.File=${webApp.root}/WEB-INF/logs/info.log
log4j.appender.INF_OUT.DatePattern='.'yyyy-MM-dd
log4j.appender.INF_OUT.Append=true
log4j.appender.INF_OUT.layout=org.apache.log4j.PatternLayout
log4j.appender.INF_OUT.layout.ConversionPattern=[%-5p][0007][0001][doshrwebService][%c][%m][method:%l][%d{ yyyy-MM-dd HH:mm:ss}]%n


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
4天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
88 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
1月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
189 3
|
1月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1611 14
|
26天前
|
Python
log日志学习
【10月更文挑战第9天】 python处理log打印模块log的使用和介绍
26 0
|
28天前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
160 0
|
2月前
|
安全 搜索推荐 应用服务中间件
Web安全-目录遍历漏洞
Web安全-目录遍历漏洞
72 2
|
1月前
|
存储 分布式计算 NoSQL
大数据-136 - ClickHouse 集群 表引擎详解1 - 日志、Log、Memory、Merge
大数据-136 - ClickHouse 集群 表引擎详解1 - 日志、Log、Memory、Merge
36 0
|
1月前
|
缓存 Linux 编译器
【C++】CentOS环境搭建-安装log4cplus日志组件包及报错解决方案
通过上述步骤,您应该能够在CentOS环境中成功安装并使用log4cplus日志组件。面对任何安装或使用过程中出现的问题,仔细检查错误信息,对照提供的解决方案进行调整,通常都能找到合适的解决之道。log4cplus的强大功能将为您的项目提供灵活、高效的日志管理方案,助力软件开发与维护。
52 0
|
2月前
|
消息中间件 存储 监控
Kafka的logs目录下的文件都是什么日志?
Kafka的logs目录下的文件都是什么日志?
106 11
|
2月前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
下一篇
无影云桌面