log4j日志输出路径会变?
String userDir = System.getProperty("user.dir");
System.setProperty("pm.logout", userDir);
log = Logger.getLogger(NetUtilTest.class);
# Output pattern : date [thread] priority category - message
log4j.rootLogger=INFO, RollingFile
#Console
#log4j.appender.Console=org.apache.log4j.ConsoleAppender
#log4j.appender.Console.layout=org.apache.log4j.PatternLayout
#log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
#RollingFile
log4j.appender.RollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RollingFile.File=${pm.logout}/csv.log
log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.RollingFile.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
这里我使用${pm.logout}引用System.setProperty("pm.logout", userDir);设置的路径
System.setProperty("pm.logout", userDir);
log = Logger.getLogger(NetUtilTest.class);
long t0 = System.currentTimeMillis();
JsonToCsvNetUtil.create(rcurl, rdurl, csvpath);
long t1 = System.currentTimeMillis();
log.info("操作成功,耗时: " + (t1 - t0) / 1000 + "秒");
其中JsonToCsvNetUtil.create(rcurl, rdurl, csvpath);是个很耗时的操作,这样跑log.info信息记录在了没个盘的根目录下.
我工作空间在f盘xx/workplace/xxx/xxx很深的地方,我断点userDir的值也没错是f:/xx/workplace/xxx/xxx
但是日志csv.log却在f盘根目录下。注释掉JsonToCsvNetUtil.create(rcurl, rdurl, csvpath);输出与项目同级也就是userDir值的位置是我想要的效果
我把项目打包方在e:/xxx/xxx/xx的地方时与上面相同注释掉JsonToCsvNetUtil.create(rcurl, rdurl, csvpath);的时候是正常的输出到userDir下面,加上后就在e盘的根目录下面
...全文
相关推荐
log4j(二):动态配置日志输出路径
Log4j是Apache提供的一款广泛使用的日志框架,它提供了丰富的功能和灵活的配置,使得我们可以根据需要动态地改变日志的输出路径。本文将深入探讨如何在Log4j中实现日志输出路径的动态配置。
log4j的详细配置,log4j.xml和log4j.properties,日志输出到文件,邮件,数据库,控制台等
**日志到文件** - **文件配置**:设置文件appender时,可以定义日志文件路径、文件大小限制、备份策略等。 - **滚动策略**:可以设置日志文件每天滚动、按大小滚动等。6.
log4j 配置日志文件,把日志信息输出到项目的某个文件夹下
在本文中,我们将深入探讨如何配置log4j,以便将日志信息输出到项目中的特定文件夹。
java自定义日志输出文件(log4j日志文件输出多个自定义日志文件)
Java中的日志管理是软件开发中的重要组成部分,用于记录程序运行过程中的信息、错误和调试数据。Log4j是一款广泛使用的日志框架,它允许开发者自定义日志输出的方式,包括输出路径、日志级别和格式。
Tomcat使用Log4j输出catalina.out日志
这个文件是Log4j日志配置的核心,用于定义日志的输出格式、日志文件的滚动规则等。2.


Web 开发
