Log4j 2X 日志文件路径问题

关于路径问题网上说啥的都有,但是也不能说人家错,只能说不适合你这个。

一开始,我用的   ${webapp.root}

        <RollingFile name="rollingFileSys" fileName="${webapp.root}/WEB-INF/logs/sys.log" append="true"
                 filePattern="${webapp.root}/WEB-INF/logs/sys/$${date:yyyy-MM-dd}/log-%d{yyyy-MM-dd HH}-%i.log.gz">
            <ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="%d{yyyy.MM.dd HH:mm:ss,SSS} %-5level %class{36} [行数%L] [方法%M] - %msg%xEx%n"/>
              <SizeBasedTriggeringPolicy size="1 M" />
              <!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件,这里设置了20 -->
              <DefaultRolloverStrategy max="20" />
        </RollingFile>

系统也输出了

六月 14, 2017 10:23:09 上午 org.apache.catalina.core.ApplicationContext log
信息: Set web app root system property: ‘webapp.root‘ = [G:\workspace2\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myProject\]

心想这还不万事大吉,可是不报错也不输出日志。无奈查询官方文档。

LookUp

然后我用${web:rootDir},结果又报错了。后来才知道需要导入一个jar包!!

到此,成功生成日志文件!

时间: 2024-10-25 22:05:54

Log4j 2X 日志文件路径问题的相关文章

Java - 自动配置log4j的日志文件路径

目录 1 日志路径带来的痛点 2 log4j.properties文件的配置 3 彻底解决痛点 3.1 单独的Java程序包 (非Java Web项目) 3.2 Web项目 4 附录 - 获取当前项目.类路径的几种方式 1 日志路径带来的痛点 Java 项目中少不了要和log4j等日志框架打交道, 开发环境和生产环境下日志文件的输出路径总是不一致, 设置为绝对路径的方式缺少了灵活性, 每次变更项目路径都要修改文件, 目前想到的最佳实现方式是: 根据项目位置自动加载并配置文件路径. 本文借鉴 To

log4j的日志文件保存到项目发布目录,log4j文件每天分割按日期命名

自己设置目录,也就是在项目启动时通过System.setProperty来设置,实现ServletContextListener来解决: public class log4jlistener implements ServletContextListener { public static final String log4jdirkey = "log4jdir"; public void contextDestroyed(ServletContextEvent servletcont

log4j.properties 日志文件的详细配置说明

一.在一个web 项目中,使用tomcat 启动通常会在控制台输出出现一个警告信息: 通常为未添加 log4j.properties文件的原因. 二.下面以一个普通的maven项目为例说明一下 1. 在maven项目的配置文件pom.xml中已经有日志文件的配置选项,如果需要使用,记得配置进去. 1 <!-- 日志文件 --> 2 <dependency> 3 <groupId>org.slf4j</groupId> 4 <artifactId>

在Spring的项目中配置Log4j存放日志文件到指定目录下

在Spring中使用LOG4J为日志输出的插件已有一段日子了,但有时候发现日志文件虽然是已经在根据自己的理想存放了,但还会有些莫名其妙的项目日志文件出现tomcat内(因为项目的日志文件都以项目命名嘛,所以比较容易区分这些log).这些令我纠结的日志文件,让我在改善一下LOG4J的配置.才发现,之前用的配置方式真是弱爆了. 1.先说自己比较理想的存放日志路径. 我比较喜欢把日志文件放在项目的WEB-INF下,然后当然有个文件夹叫logs.logs相信很多人都会存在在这样的目录下,但放在WEB-I

修改数据文件和日志文件路径

环境及需求操作系统:Microsoft Windows Server 2008 R2 Enterprise数据库:Microsoft SQL Server 2008 R2 (SP3)服务器增加Fusion-io存储,需将数据库文件迁移到Fusion-io迁移文件必定涉及数据库服务的重启,给定维护时间1小时.服务器上只安装一个数据库实例,实例下面有33个用户数据库(一个小游戏对应一个库),部分数据库有多个数据文件.考虑到要迁移的数据文件个数有107个,最佳方式是使用: ALTER DATABASE

MYSQL 日志文件路径错误 1067错误

场景再现: --------------------------------------------------------------------------------------------------------------------------- 第一步: 找到出错的原因.运行-->  eventvwr  可以看到是出了什么错 这个说明日志文件的路径不对! 第二步: 改动日志文件的位置: 要在配置文件中修改: windows 系统日志文件在安装目录的data文件夹中,打开my.ini

Log4j写日志文件使用详解

Log4j输出到控制台成功,写入文件失败 - Log4j和commons log的整合 一.今天在使用commongs-logging.jar和log4j.properties来输出系统日志的时候,发现日志能够成功的输出到控制台,但是去不能写到目的文件中,具体的步骤和原因如下: 1. 只在项目中引入commons-logging.jar commons-logging.jar 使用 Log logger = LogFactory.getLogger(XXX.class), 如果有log4j.pr

log4j2指定日志文件路径到工程路径

1.pom.xml中配置log4j2所使用的jar包 <!-- log4j2 --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${log4j}</version> </dependency> <dependency> <

linux 设置redis日志文件路径的设置

#vi /etc/redis/6379.conf logfile "/var/log/redis/redis.log" 保存后退出vi, 重启redis服务,即可. 注意,如果不设置6379.conf  里的logfile. 就会导致redis无法写日志, 进而导致,无法把redis数据写入到磁盘文件里.