我想配置log4j數據庫日誌記錄到maven web項目,但不能讓它工作。如果有人能指出我做錯了什麼,我將不勝感激。無法獲得Log4j數據庫日誌記錄工作
我創建了一個maven web項目,並將其部署在jboss wildfly中。
我已經添加了這兩個依賴關係。
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.36</version>
</dependency>
而且我在資源下添加了log4j.properties文件。
log4j.rootLogger = DEBUG, DB
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DB.URL=jdbc:mysql://localhost:3306/pos_test
log4j.appender.DB.driver=com.mysql.jdbc.Driver
log4j.appender.DB.user=root
log4j.appender.DB.password=password
log4j.appender.DB.sql=INSERT INTO myLogs VALUES('%X{User}','%d{yyyy-MM-dd HH:mm:ss}','%C','%p','%m')
log4j.appender.DB.layout=org.apache.log4j.PatternLayout
在我的代碼我嘗試登錄如下,
logger.info("Testing info");
logger.debug("Testing Debug");
我用下面的SQL來創建數據庫表。
CREATE TABLE myLogs (
USER_ID varchar(20) NOT NULL,
LOG_DATE date NOT NULL,
LOGGER varchar(50) NOT NULL,
LEVEL varchar(10) NOT NULL,
MESSAGE varchar(1000) NOT NULL
);
日誌中沒有錯誤,並且日誌信息也沒有打印在服務器日誌中。
仍然將日誌記錄信息添加到數據庫中。
我在這裏失蹤了什麼?
問候,
嗨,馬克謝謝爲答覆。配置文件和jar在正確的位置。我曾經嘗試過有多個appender,但它沒有工作。我嘗試了控制檯和數據庫appender但控制檯沒有打印輸出。 –
我試圖只有一個控制檯appender具有log4j.properties文件。它仍然不起作用。 –
我認爲這意味着你的配置不會被處理。最好的方法是從這裏進行調試。只需進入日誌記錄調用,看看哪些appender實際使用。嘗試顯式地使用根記錄器進行調試......也許你正在使用spring或其他東西?如果它只有一個webapp和log4j,請閱讀這篇文章,它可能會有所幫助:http://www.codejava.net/coding/how-to-initialize-log4j-for-java-web-application –