導航:首頁 > 編程語言 > javalog4j配置

javalog4j配置

發布時間:2022-11-12 14:24:26

Ⅰ SpringBoot2.0 基礎案例(02):配置Log4j2,實現不同環境日誌列印

日誌列印是了解Web項目運行的最直接方式,所以在項目開發中是需要首先搭建好的環境。

1、Log4j2特點

1)核心特點

相比與其他的日誌系統,log4j2丟數據這種情況少;disruptor技術,在多線程環境下,性能高;並發的特性,減少了死鎖的發生。

2)性能測試

2、日誌列印之外觀模式

每一種日誌框架都有自己單獨的API,要使用對應的框架就要使用其對應的API,增加應用程序代碼和日誌框架的耦合性。

《阿里巴巴java開發手冊》,其中有一條規范做了『強制』要求:

SLF4J日誌API

Java簡易日誌門面(Simple Logging Facade for Java,縮寫SLF4J),是一套包裝Logging 框架的界面程式,使用外觀模式實現。

1、項目結構

2、不同環境的日誌配置

使用最直接的方式,不同環境載入不同的日誌配置。

1)開發環境配置

2)生產環境配置

3、Log4j2的配置文件

1、簡單的測試程序

2、測試效果圖

四、源代碼地址

Ⅱ java開發兩次都碰到log4j的問題了,明明設置了輸出級別為debug就是列印不了debug級別的日誌

java開發過程中會遇到各種問題,自學的話很難去解決這些問題,推薦去千鋒教育學習java開發,有專業團隊和老師為學生解決各種專業問題。

java開發需要學的知識有:
1.Java基礎語法和oop特性;
2.資料庫相關知識,例SQL語言、MySQL、非關系型資料庫;
3.Web基礎知識;
4.Web主流框架,例Spring、SpringMVC、Mybatis;
5.前端知識等。

想要了解更多有關java的相關信息,推薦咨詢千鋒教育。千鋒企業合作部於2013年成立,主要針對企業用人需求和學員職業規劃進行服務。經過8年發展,企業合作部已經成為千鋒連接企業和學員的重要紐帶。服務面對企業建立全方位、立體化、遍布全國的企業合作網路,覆蓋全國一線二線城市大中小型公司,成功幫助20000餘名人才實現就業,合作企業達20000餘家,每年簽訂1000餘份人才培養訂單,讓廣大學員沒有後顧之憂。

Ⅲ 怎樣添加java的log4j添加到java項目中

首先,弄到log4j的jar包,maven工程配置以下依賴就行,或者,從阿里的maven倉庫下載jar包,添加到工程的「build path」log4j log4j 1.2.17

然後,整一個log4j.properties,內容如下,然後把它放在src/main/java目錄(也就是包所在的根目錄)

1、普通java工程或spring工程

這是最常見的java工程類型,寫demo用的多,把log4j.properties放在src/main/java目錄(也就是包所在的根目錄)就行了

2、spring mvc工程

web工程里用spring mvc構建的比較多了,把log4j.properties放在src/main/resources的conf目錄(web工

程配置文件通常在resources或WEB-INF目錄),編輯web.xml,添加

log4jConfigLocation classpath:/conf/log4j.properties org.springframework.web.util.Log4jConfigListener

3、普通web工程

沒有了spring提供的listener載入log4j.properties,我們要怎麼載入這個文件呢?同樣,把log4j.properties

放在src/main/resources的conf目錄,我們整一個servlet來載入

{ = 1L; publicvoidinit(ServletConfig config)throwsServletException { String prefix =this.getClass().getClassLoader().getResource("/").getPath(); String path = config.getInitParameter("log4j-path"); PropertyConfigurator.configure(prefix + path); } publicvoiddoGet(HttpServletRequest req, HttpServletResponse res)throwsIOException, ServletException {} publicvoiddoPost(HttpServletRequest req, HttpServletResponse res)throwsIOException, ServletException {} publicvoiddestroy() {} }

然後配置servlet隨著web工程啟動而初始化,編輯web.xml,添加

log4j com.xmyself.log4j.Log4jServlet log4j-path conf/log4j.properties 1

看著是不是和spring mvc的很像,甚至你也想到了,普通java工程沒有指定log4j.properties的路徑,那說明

log4j的jar包一定有一個默認的路徑。另外,建議,log4j的配置放在第一個,因為後續載入其他組件就要開始使用日

Ⅳ java 如何配置log4j日誌文件保存路徑

以DailyRollingFileAppender 為例:假設每天一個日誌文件
有以下設置:

log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=app.log
log4j.appender.A1.DatePattern='.'yyyy-MM-dd
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d %5p - %c -%-4r [%t] - %m%n

此時生成日誌文件將位於tomcat的bin目錄下,如要將日誌文件保存在 :根目錄/web-info/logs/下,個人有以下4種解決方案:
1 絕對路徑
log4j.appender.A1.File=D:\apache-tomcat-6.0.18/webapps/項目/WEB-INF/logs/app.log
但這種寫法靈活性很差

以下3中使用相同的設置原理: jvm的環境變數
2:spring的Log4jConfigListener
通過以下配置:
< context-param>
<param-name>webAppRootKey</param-name>
<param-value>webApp.root</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
< listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
...
log4j.appender.logfile.File=${webApp.root}/WEB-INF/logs/app.log
...
來解決
2:使用已有jvm變數:
例如:
log4j.appender.logfile.File=${user.home}/logs/app.log
日誌將位於:例如windows:C:\Documents and Settings\joe\logs\app.log

3 自己設置目錄,也就是在項目啟動時通過System.setProperty設置
通過實現ServletContextListener來解決:例如

public class log4jlistener implements ServletContextListener {
public static final String log4jdirkey = "log4jdir";
public void contextDestroyed(ServletContextEvent servletcontextevent) {
System.getProperties().remove(log4jdirkey);
}
public void contextInitialized(ServletContextEvent servletcontextevent) {
String log4jdir = servletcontextevent.getServletContext().getRealPath("/");
//System.out.println("log4jdir:"+log4jdir);
System.setProperty(log4jdirkey, log4jdir);
}
}
web.xml配置:

<listener>
<listener-class>com.log4j.log4jlistener</listener-class>
</listener>

log4j.prtperties 配置:
log4j.appender.A1.File=${log4jdir}/WEB-INF/logs/app1.log
來解決。

Ⅳ log4j配置之後出現錯誤

步驟:

1、在Maven的porn.xml 文件中添加dependency如下。之後就會添加三個包。

Ⅵ 關於java讀取jar包內log4j配置文件

一、Thread.currentThread().getContextClassLoader().getResource("resources/log4j.xml").getPath();

二、java.net.URLimUrl=getClass().getResource("resources/log4j.xml");

三、java.net.URLimUrl=getClass().getResource("/resources/log4j.xml");

四、//包名開始
Strings_xmlpath="ldg/resource/resources/log4j.xml";
InputStreamin=ClassLoader.getSystemResourceAsStream(s_xmlpath);

Ⅶ log4j在java的web項目中怎麼用的,如何配置等等。。

在web.xml中添加配置:
<!-- 配置log4j配置文件的路徑,可以是xml或 properties(此參數必須配)-->
下面使用了classpath 參數指定log4j.properties文件的位置,這樣log4j的配置文件就不用非要放到src的下面:
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:config/log4j/log4j.properties</param-value>
</context-param>
使用spring的監聽器,當應用啟動時來讀取log4j的配置文件
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

Ⅷ Java log4j 配置文件怎麼寫,可以輸出log.info("")中的內容到指定目錄的.log文件

log4j.rootLogger=info, ServerDailyRollingFile, stdout
log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ServerDailyRollingFile.DatePattern='.'yyyy-MM-dd
log4j.appender.ServerDailyRollingFile.File=/usr/logs/mylog.log
log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d - %m%n
log4j.appender.ServerDailyRollingFile.Append=true

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} %p [%c] %m%n

Ⅸ java中如何使用log4j將記錄的操作日誌信息

  1. 主要是通過配置文件

    1.1 Log4j 支持兩種配置文件格式,一種是 XML 格式的文件,一種是 Java 特性文件 lg4j.properties (鍵 = 值)。

  2. Logger 負責處理日誌記錄的大部分操作。
    其語法為:
    log4j.rootLogger = [ level ] , appenderName, appenderName, …
    2.1 level 是日誌記錄的優先順序,分為 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 ALL
    或者自定義的級別。

    2.2Log4j 建議只使用四個級別,優先順序從高到低分別是 ERROR 、 WARN 、 INFO 、 DEBUG

    2.3通過在這里定義的級別,您可以控制到應用程序中相應級別的日誌信息的開關。比如在這里定義了
    INFO 級別,只有等於及高於這個級別的才進行處理,則應用程序中所有 DEBUG 級別的日誌信息將不被列印出來。

    2.4 ALL: 列印所有的日誌,
    OFF :關閉所有的日誌輸出。 appenderName 就是指定日誌信息輸出到哪個地方。可同時指定多個輸出目的地。

  3. 配置日誌信息輸出目的地 Appender 負責控制日誌記錄操作的輸出。

    3.1log4j.appender.appenderName = fully.qualified.name.of.appender.class
    3.2log4j.appender.appenderName.option1 = value1
    3.3log4j.appender.appenderName.optionN = valueN

  4. Log4j 提供的 appender

    4.1org.apache.log4j.ConsoleAppender (控制台),
    4.2org.apache.log4j.FileAppender (文件),
    4.3org.apache.log4j.DailyRollingFileAppender (每天產生一個日誌文件),
    4.4org.apache.log4j.RollingFileAppender
    (文件大小到達指定尺寸的時候產生一個新的文件),可通過 log4j.appender.R.MaxFileSize=100KB
    設置文件大小,還可通過 4.5log4j.appender.R.MaxBackupIndex=1 設置為保存一個備份文件。
    4.6org.apache.log4j.WriterAppender (將日誌信息以流格式發送到任意指定的地方)

    5.Layout

    5.1org.apache.log4j.HTMLLayout (以 HTML 表格形式布局),
    5.2org.apache.log4j.PatternLayout (可以靈活地指定布局模式),
    5.3org.apache.log4j.SimpleLayout (包含日誌信息的級別和信息字元串),
    5.4org.apache.log4j.TTCCLayout (包含日誌產生的時間、線程、類別等等信息) 6.格式化日誌信息
    Log4J 採用類似 C 語言中的 printf 函數的列印格式格式化日誌信息,列印參數如下:
    6.1%m 輸出代碼中指定的消息
    6.2%p 輸出優先順序,即 DEBUG , INFO , WARN , ERROR , FATAL
    6.3%r 輸出自應用啟動到輸出該 log 信息耗費的毫秒數
    6.4%c 輸出所屬的類目,通常就是所在類的全名
    6.5%t 輸出產生該日誌事件的線程名
    6.6%n 輸出一個回車換行符, Windows 平台為 「rn」 , Unix 平台為 「n」
    6.7%d 輸出日誌時間點的日期或時間,默認格式為 ISO8601 ,也可以在其後指定格式,比如: %d{yyyy MMM dd HH:mm:ss,SSS} ,輸出類似: 2002 年 10 月 18 日 22 : 10 : 28 , 921
    6.8%l 輸出日誌事件的發生位置,包括類目名、發生的線程,以及在代碼中的行數。 7. log4j.propertie 示例文件:

    log4j.rootCategory=INFO, stdout,file

    7.1 定義名為 stdout 的輸出端的類型
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%n

    7.2定義名為 file 的輸出端的類型為每天產生一個日誌文件。
    log4j.appender.file =org.apache.log4j.DailyRollingFileAppender
    log4j.appender.file.File=log.txt
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n


    7.3指定 com.neusoft 包下的所有類的等級為 DEBUG 。可以把 com.neusoft 改為自己項目所用的包名。
    log4j.logger.com.neusoft=DEBUG

    7.4如果項目中沒有配置 EHCache ,則配置以下兩句為 ERROR 。
    log4j.logger.com.opensymphony.oscache=ERROR
    log4j.logger.net.sf.navigator=ERROR

    8struts 配置
    log4j.logger.org.apache.commons=ERROR

    log4j.logger.org.apache.struts=WARN

    8.1 displaytag 配置
    log4j.logger.org.displaytag=ERROR

    8.2 spring 配置
    log4j.logger.org.springframework=DEBUG

    8.3 ibatis 配置
    log4j.logger.com.ibatis.db=WARN
    8.4 hibernate 配置

    log4j.logger.org.hibernate=DEBUG log4j.logger.org.apache.velocity=FATAL
    log4j.logger.com.canoo.webtest=WARN

閱讀全文

與javalog4j配置相關的資料

熱點內容
安卓源碼編譯輸入腳本沒反應 瀏覽:44
phpmysql自增 瀏覽:166
把ppt保存為pdf 瀏覽:533
汽車密封件加密配件 瀏覽:887
黑馬程序員15天基礎班 瀏覽:560
java調整格式 瀏覽:521
香港雲伺服器租用價 瀏覽:78
linuxsublime3 瀏覽:560
imac混合硬碟命令 瀏覽:277
沈陽用什麼app租房車 瀏覽:857
00後高中生都用什麼app 瀏覽:237
戴爾塔式伺服器怎麼打開獨立顯卡 瀏覽:807
醫療程序員招聘 瀏覽:597
住宿app可砍價是什麼意思 瀏覽:133
java跳出語句 瀏覽:55
javastring個數 瀏覽:928
人工免疫演算法應用 瀏覽:79
有什麼app能收聽俄羅斯廣播電台 瀏覽:34
2015考研紅寶書pdf 瀏覽:443
程序員幾月跳槽合適 瀏覽:444