【发布时间】:2011-08-27 11:08:06
【问题描述】:
我开始使用 log4j 已经有一段时间了;非常酷的日志框架。我已经完成了其他类型的日志记录,例如控制台和文件日志记录。因此,尝试使用带有 mysql 的数据库适配器进行数据库日志记录。因此,我创建了以下名为 log4j.properties 的属性文件 -
# Define the root logger with appender file
log4j.rootLogger = DEBUG, DB
# Define the DB appender
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
# Set JDBC URL
log4j.appender.DB.URL=jdbc:mysql://localhost:3306/test
# Set Database Driver
log4j.appender.DB.driver=com.mysql.jdbc.Driver
# Set database user name and password
log4j.appender.DB.user=root
log4j.appender.DB.password=
# Set the SQL statement to be executed.
log4j.appender.DB.sql=insert into log(date,level,message) values("%d","%p","%m")
# Define the layout for file appender
log4j.appender.DB.layout=org.apache.log4j.PatternLayout
并以下列方式在测试类中使用它 -
public class DBLoggerTest {
static Logger logger;
public DBLoggerTest() {
//System.setProperty("log4j.configuration", "log4j.properties");
logger = Logger.getLogger(DBLoggerTest.class.getName());
}
public static void main(String[] args) {
new DBLoggerTest();
logger.info("This is a test info");
logger.error("This is an error messsage");
}
}
但我收到以下错误 -
log4j:WARN No appenders could be found for logger (com.satyam.logger.test.DBLoggerTest).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
请帮忙...?
【问题讨论】:
-
请参阅logging.apache.org/log4j/1.2/faq.html#noconfig 了解更多信息。 log4j.properties 是否在类路径的根目录中? Thread.getContextClassLoader().getResource("log4j.properties") 返回什么?
-
我查看了帮助链接;没有帮助。另外,我将 log4j.properties 设置为文件名相同。此外,我尝试过设置系统参数。还是一样的错误。