麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Java日志設計&實踐(2)

2019-11-14 22:36:28
字體:
來源:轉載
供稿:網友
java日志設計&實踐(2) - 設計篇

設計階段主要考慮幾個問題

  1. 按應用或功能拆分日志,但要把握度,過猶不及
  2. 日志配置需支持動態調整
使用SPRing的Log4jConfigListener,實現動態調整日志級別

web.xml對應位置加入如下內容

<context-param>  <param-name>log4jConfigLocation</param-name>  <param-value>/WEB-INF/log4j.properties</param-value> </context-param> <context-param>  <param-name>log4jRefreshInterval</param-name>  <param-value>10000</param-value> </context-param> <listener>  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>

【注意】

1.       不要把log4jConfigLocation 指定為/WEB-INF/classes/log4j.properties

當log4jConfigLocation指定為/WEB-INF/classes/log4j.properties,如果需要動態調整日志配置,可能會引起類的重新加載。但動態調整/WEB-INF/log4j.properties不會引起類的重新加載

2.       log4jRefreshInterval的單位是毫秒

3.       /WEB-INF/log4j.properties/WEB-INF/classes/log4j.properties不能同時存在,否則會報異常

4.       JUnit單元測試類的問題

運行單元測試時,報以下錯誤

log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlapplicationContext).

log4j:WARN Please initialize the log4j system properly.

log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

 

原因是找不到默認的log4j配置文件,可以手動指定,如:

Log4jConfigurer.initLogging("classpath:log4j.test.properties");

log4j.test.properties是專門為執行單元測試類使用的一個配置文件

為每個工程指定一個獨立的日志文件

/WEB-INF/log4j.properties配置如下

log4j.rootLogger=info, filelog4j.appender.file=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.file.File=${catalina.home}/logs/projectNamelog4j.appender.file.DatePattern='.'yyyy-MM-dd'.log'log4j.appender.file.Encoding=UTF-8log4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%p %d %m [%l] %n

log4j.appender.file.File=${catalina.home}/logs/projectName

中的projectName可以是工程名等唯一標識一個工程的字符串

${catalina.home}表示當前tomcat工程根目錄,Tomcat啟動時設置該變量

 

通過以上配置,就可以達到為每個工程指定一個獨立的日志文件的目錄

 

小結

現在來解答如下幾個問題

【問】一個Tomcat加載多個工程,如何確定日志中的內容是哪個工程的?

【答】為每個工程指定獨立的日志文件,避免多個工程日志文件輸出到一個文件的問題

【問】多個Tomcat同時加載同一個工程,可以使用log4j的DailyRollingFileAppender等文件類Appender嗎?

【答】可以,指定文件名時,可以使用類似

log4j.appender.file.File=${catalina.home}/logs/projectName

的配置,這樣每個Tomcat的日志分別保存

【問】多個Tomcat同時加載同一個工程,可以分別指定日志輸出目錄嗎?

【答】可以 同上一個問題的答案

【問】可以動態調整一個類的日志級別嗎?

【答】可以 本文已經提供了一種思路


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美福利视频一区二区三区 | 天天草夜夜爽 | 精品一二三区视频 | 国产一级毛片高清视频 | 免费观看黄视频 | 欧美成人免费 | 午夜爽爽爽男女免费观看hd | 国产一级二级在线播放 | h视频在线免费观看 | 免费黄色大片在线观看 | 国产一级在线看 | 久久免费观看一级毛片 | 日本在线国产 | 精品久久久久久综合日本 | 亚洲精品日韩色噜噜久久五月 | 亚洲免费永久 | 在线成人免费观看www | 欧美精品成人一区二区三区四区 | 一分钟免费观看完整版电影 | 视频二区国产 | 久久9色 | 欧美a级在线免费观看 | julieann艳星激情办公室 | 久久宗合色| 精国产品一区二区三区四季综 | 姑娘第四集免费看视频 | 在线看一区二区三区 | 久草最新 | 欧美精品成人 | 亚洲精品欧美在线 | 亚洲成人精品区 | 久久国产精品电影 | 成人毛片网 | 国产精品午夜未成人免费观看 | 悠悠成人资源亚洲一区二区 | 亚洲精品a级 | 欧美国产一区二区三区 | 久久精品久久久久 | 色骚综合 | 日韩视 | 黄色网址免费在线 |