日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java webproject中logback换配置文件的路径

發(fā)布時間:2025/5/22 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java webproject中logback换配置文件的路径 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
java webproject中l(wèi)ogback換配置文件的路徑

本人小站點(diǎn): ??http://51kxd.com/ ?歡迎大家不開心的時候訪問訪問,調(diào)節(jié)一下心情


web.xml中配置:


<!-- windows ?logback.xml文件跟web容器(比方tomcat)在同一個文件夾中。linux任意? -->
<context-param>
<param-name>logbackConfigLocation</param-name>
<param-value>file:/datum/Data/conf/config/logback.xml</param-value>
</context-param>


<!-- logback.xml任意放 ?-->
<context-param>
<param-name>logbackConfigLocation</param-name>
<param-value>file:E:\\datum\\data\\conf\\logback.xml</param-value>
</context-param>


當(dāng)中file:一定要有。



<listener>
<listener-class>com.cxfmvcstu.comn.LogbackConfigListener</listener-class>
</listener>

LogbackConfigListener為自己的實(shí)現(xiàn)類

import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener;import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.core.io.UrlResource;import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.joran.JoranConfigurator; import ch.qos.logback.core.joran.spi.JoranException;/*** @description * @path com.cxfmvcstu.comn.LogbackConfigListener* @author lijun.justin* @time 2015年6月27日 下午8:13:19*/ public class LogbackConfigListener implements ServletContextListener {private static final Logger logger = LoggerFactory.getLogger(LogbackConfigListener.class);private static final String CONFIG_LOCATION = "logbackConfigLocation";@Overridepublic void contextInitialized(ServletContextEvent event) {// 從web.xml中載入指定文件名稱的日志配置文件String logbackConfigLocation = event.getServletContext().getInitParameter(CONFIG_LOCATION);String fn = event.getServletContext().getRealPath(logbackConfigLocation);try {UrlResource urlResource = new UrlResource(logbackConfigLocation);LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();loggerContext.reset();JoranConfigurator joranConfigurator = new JoranConfigurator();joranConfigurator.setContext(loggerContext);//joranConfigurator.doConfigure(fn);joranConfigurator.doConfigure(urlResource.getFile().getAbsolutePath());logger.debug("loaded slf4j configure file from {}", fn);} catch (JoranException e) {logger.error("can loading slf4j configure file from " + fn, e);}catch (Exception e) {logger.error(e.getMessage(), e);}}@Overridepublic void contextDestroyed(ServletContextEvent event) {} }
要依賴于spring的UrlResource類。里面沒用的代碼。讀者自己精簡一下


logback.xml的配置演示樣例:


<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true" scanPeriod="60 seconds" debug="false"> ??
<!-- 控制臺輸出 -->
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
</encoder>
</appender>


<!-- 時間滾動輸出 level為 INFO 日志 -->
<appender name="file—INFO"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY </onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>D:/logs/INFO.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
</encoder>
</appender>


<!-- 時間滾動輸出 level為 ERROR 日志 -->
<appender name="file—error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY </onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>D:/logs/error.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
</encoder>
</appender>


<!-- 特定過濾含有某字符串的日志 ? 須要額外的兩個JAR包,commons-compiler.jar和janino.jar
<appender name="file-str" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<level>ERROR</level>
<evaluator>
<expression>message.contains("str")</expression>
</evaluator>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>D:/logs/contains.%d{yyyy-MM-dd}.log
</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
</encoder>
</appender> ?-->


<!-- 數(shù)據(jù)庫輸出?
<appender name="db" class="ch.qos.logback.classic.db.DBAppender">
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<level>ERROR</level>
<evaluator>
<expression>message.contains("str")</expression>
</evaluator>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<connectionSource
class="ch.qos.logback.core.db.DriverManagerConnectionSource">
<driverClass>com.mysql.jdbc.Driver</driverClass>
<url>jdbc:mysql://host_name:3306/datebase_name</url>
<user>username</user>
<password>password</password>
</connectionSource>
</appender> -->


<root level="INFO">
<appender-ref ref="stdout" />
<appender-ref ref="file—INFO" />
<appender-ref ref="file—error" />
<appender-ref ref="file-str" />
<appender-ref ref="db" />
</root>


</configuration>?



本人小站點(diǎn): ??http://51kxd.com/ ?歡迎大家訪問 posted on 2017-06-20 21:27 mthoutai 閱讀(...) 評論(...) 編輯 收藏

轉(zhuǎn)載于:https://www.cnblogs.com/mthoutai/p/7056404.html

總結(jié)

以上是生活随笔為你收集整理的java webproject中logback换配置文件的路径的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。