gpt4 book ai didi

基于web项目log日志指定输出文件位置配置方法

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章基于web项目log日志指定输出文件位置配置方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

首先我们定义一个可以在运行时动态的找出项目的路径webapprootkey,这么做的原因是为了在后面配置log4j输出文件路径的时候能随心配置.

?
1
2
3
4
<context-param>
    <param-name>webapprootkey</param-name>
    <param-value>amt.root</param-value>
</context-param>

然后要定义项目log配置文件的路径以及log4j监听器 。

?
1
2
3
4
5
6
7
8
<context-param>
   <param-name>log4jconfiglocation</param-name>
   <param-value>classpath:conf/log4j.xml</param-value>
</context-param>
  <!--定义log4j监听器-->
<listener>
  <listener- class >org.springframework.web.util.log4jconfiglistener</listener- class >
</listener>

这样web.xml文件的配置完毕,然后就是log配置文件的具体配置文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?xml version= "1.0" encoding= "utf-8" ?>
<!doctype log4j:configuration system "log4j.dtd" >
<log4j:configuration>
  <!-- 将日志信息输出到控制台 -->
  <appender name= "consoleappender" class = "org.apache.log4j.consoleappender" >
   <!-- 设置日志输出的样式 -->
   <layout class = "org.apache.log4j.patternlayout" >
    <!-- 设置日志输出的格式 -->
    <param name= "conversionpattern" value= "[%d{yyyy-mm-dd hh:mm:ss:sss}] [%-5p] [method:%l]%n%m%n%n" />
   </layout>
   <!--过滤器设置输出的级别-->
   <filter class = "org.apache.log4j.varia.levelrangefilter" >
    <!-- 设置日志输出的最小级别 -->
    <param name= "levelmin" value= "info" />
    <!-- 设置日志输出的最大级别 -->
    <param name= "levelmax" value= "error" />
    <!-- 设置日志输出的xxx,默认是 false -->
    <param name= "acceptonmatch" value= "true" />
   </filter>
  </appender>
  <!-- 将日志信息输出到文件,可以配置多久产生一个新的日志信息文件 -->
  <appender name= "rollingfile" class = "org.apache.log4j.dailyrollingfileappender" >
   <!-- 设置日志信息输出文件全路径名 -->
   <param name= "file" value= "${amt.root}/logs/spdbdata.log" />
   <!-- 设置日志每小时回滚一次,即产生一个新的日志文件 -->
   <param name= "datepattern" value= "'_'yyyy-mm-dd-hh'.log'" />
   <!-- 设置日志输出的样式 -->
   <layout class = "org.apache.log4j.patternlayout" >
    <!-- 设置日志输出的格式 -->
    <param name= "conversionpattern" value= "[%d{yyyy-mm-dd hh:mm:ss:sss}] [%-5p] [method:%l]%n%m%n%n" />
   </layout>
  </appender>
  <!--
   注意:
   1 :当additivity= "false" 时,root中的配置就失灵了,不遵循缺省的继承机制
   2 :logger中的name非常重要,它代表记录器的包的形式,有一定的包含关系,试验表明
   2 - 1 :当定义的logger的name同名时,只有最后的那一个才能正确的打印日志
   2 - 2 :当对应的logger含有包含关系时,比如:name=test.log4j.test8 和 name=test.log4j.test8.uselog4j,则 2 - 1 的情况是一样的
   2 - 3 :logger的name表示所有的包含在此名的所有记录器都遵循同样的配置,name的值中的包含关系是指记录器的名称哟!注意啦!
   3 :logger中定义的level和appender中的filter定义的level的区间取交集
   4 :如果appender中的filter定义的 levelmin > levelmax ,则打印不出日志信息
   -->
  <!--指定logger的设置,additivity指示是否遵循缺省的继承机制 -->
  <logger name= "test.log4j.test8.uselog4j_" additivity= "false" >
   <level value = "error" />
   <appender-ref ref= "rollingfile" />
  </logger>
  <!-- 根logger的设置-->
  <root>
   <level value = "info" />
   <appender-ref ref= "consoleappender" />
   <appender-ref ref= "rollingfile" />
  </root>
</log4j:configuration>

项目结构如下:

基于web项目log日志指定输出文件位置配置方法

一切准备就绪之后,项目一旦启动你就能在你规定的输出位置找到你每天或者每个小时的日志文件,log配置文件还可以进行拓展配置每个文件的大小以及文件出错时的回滚事宜,这里不做赘述.

以上这篇基于web项目log日志指定输出文件位置配置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/Smile_Miracle/article/details/76849830 。

最后此篇关于基于web项目log日志指定输出文件位置配置方法的文章就讲到这里了,如果你想了解更多关于基于web项目log日志指定输出文件位置配置方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com