当前位置 : 主页 > 网络编程 > 其它编程 >

logback无法生成日志文件之谜

来源:互联网 收集:自由互联 发布时间:2023-07-02
前言spring一般需要打印日志,不然无法定位问题,也会增加调试难度,而目前和spring搭配的比较火的日志库是logback使用方法很简单,直接在该位置加入一个xml的配置文 前言 spring一般需要打印
前言spring一般需要打印日志,不然无法定位问题,也会增加调试难度,而目前和spring搭配的比较火的日志库是logback使用方法很简单,直接在该位置加入一个xml的配置文

前言

spring一般需要打印日志,不然无法定位问题,也会增加调试难度,而目前和spring搭配的比较火的日志库是logback

使用方法很简单,直接在该位置加入一个xml的配置文件即可(配置文件示例在文章末),而且可以很简单的生成日志文件

正文

但是我发现直接在idea里运行时,就会好好的生成日志文件,但在生成jar包后使用 java -jar xx.jar命令时却无法生成日志,很奇怪,而且搜索引擎搜出来的也跟我的貌似不太一样

后来一次运行jar的时候手残双击了一下jar包,然后jar包被我设置的jre运行了(没有控制台的运行),我忽然发现日志文件生成了!!!

我就很奇怪,难道是默认的jre程序可以生成log?然后我打开了jre的目录,直接在当前位置打开命令行,然后在执行java -jar,控制台输出了一句没有权限在jre目录创建log的日志

然后我忽然想到,会不会是命令行在哪个目录运行就会在哪个目录生成日志文件

我打开了命令行,默认目录指向了用户目录,然后我果然在用户目录找到了日志文件

问题终于找到了!

然后我打开命令行,先把目录定位到jar包的目录,然后执行java -jar命令,果然,日志文件出来了...

总结

使用命令行运行jar包,日志文件会在执行命令的目录下生成!

logback-spring.xml配置文件的内容如下

logback

info

${CONSOLE_LOG_PATTERN}UTF-8${log.path}/debug.log

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%nUTF-8 ${log.path}/debug/debug-%d{yyyy-MM-dd}.%i.log100MB15debugACCEPTDENY${log.path}/info.log

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%nUTF-8${log.path}/info/info-%d{yyyy-MM-dd}.%i.log2048MB90infoACCEPTDENY${log.path}/warn.log

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%nUTF-8 ${log.path}/warn/warn-%d{yyyy-MM-dd}.%i.log1024MB365warnACCEPTDENY${log.path}/error.log

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%nUTF-8 ${log.path}/error/error-%d{yyyy-MM-dd}.%i.log1024MB365ERRORACCEPTDENY

上一篇:JenkinsPipeline构建流水线发布
下一篇:没有了
网友评论