在log4j中可以指定特定的输出源append。在数据库记录日志时,可以将日志文件记录到多个数据库表中。
# This is the configuring for logging displayed in the Application Server
log4j.rootCategory=DEBUG,logfile,stdout
log4j.logger.SYSTEM = INFO,JDBC
log4j.logger.OPERATION = INFO,JDBC2
#stdout configure
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern= %d %p [%c] - <%m>%n
#logfile configure
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=../logs/moca_stm_stm.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern= %d{yyyy MM dd HH:mm:ss} %p [%c] - <%m>%n
#JDBC configure
log4j.appender.JDBC.Threshold=INFO
log4j.appender.JDBC=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.JDBC.driver=oracle.jdbc.driver.OracleDriver
log4j.appender.JDBC.URL=jdbc:oracle:thin:@192.168.140.13:1521:DMPT
log4j.appender.JDBC.user=moca_stm
log4j.appender.JDBC.password=moca_stm
log4j.appender.JDBC.layout=org.apache.log4j.PatternLayout
log4j.appender.JDBC.sql=INSERT INTO XK_SYS_LOG(USERID,LOGTIME,LOGLEVEL,LOCATION,MESSAGE)VALUES('%X{userId}','%d{yyyy-MM-dd HH:mm:ss}','%p','%l','%m')
log4j.appender.JDBC2.Threshold=INFO
log4j.appender.JDBC2=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.JDBC2.driver=oracle.jdbc.driver.OracleDriver
log4j.appender.JDBC2.URL=jdbc:oracle:thin:@192.168.140.13:1521:DMPT
log4j.appender.JDBC2.user=moca_stm
log4j.appender.JDBC2.password=moca_stm
log4j.appender.JDBC2.layout=org.apache.log4j.PatternLayout
log4j.appender.JDBC2.sql=INSERT INTO XK_SYS_LOG_2(USERID,LOGTIME,LOGLEVEL,LOCATION,MESSAGE)VALUES('%X{userId}','%d{yyyy-MM-dd HH:mm:ss}','%p','%l','%m')
测试类
package test;
import org.apache.log4j.Logger;
import org.apache.log4j.MDC;
public class LogTest {
private static Logger logger = Logger.getLogger("OPERATION");
//private static Logger logger = Logger.getLogger("SYSTEM");
//private static Logger logger = Logger.getLogger(LogTest.class);
public static void main(String[] args) {
MDC.put("userId", "用户ID");
logger.error("testError");
}
}
分享到:
相关推荐
Log4j的输出格式主要通过`Layout`组件来控制,最常见的`PatternLayout`允许我们使用占位符来指定输出格式。例如,`%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n`会输出时间戳、日志级别、logger名称、行号和日志...
`log4j配置输出日志案例.doc`文档中应该包含了更详细的配置和实际运行案例,包括如何调整日志级别、设置过滤器、自定义日志格式等。这些案例可以帮助读者更好地理解和应用log4j,解决实际开发中的日志管理问题。 ##...
Log4j是Apache的一个开源项目,它提供了一个灵活的日志系统,允许开发者在运行时控制日志信息的级别、格式以及输出位置,包括文件、控制台、数据库等。 描述"一直在使用log4j。输出到文件的方式配置log4j。这是一个...
log4j.appender.file.Append=true log4j.appender.file.Threshold=DEBUG log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p ...
这个文件定义了Log4j的行为,包括设置日志级别(如DEBUG, INFO, WARN, ERROR, FATAL),定义Appender,以及指定Appender的输出目标。例如: ```properties # log4j.properties 示例 log4j.rootLogger=DEBUG, FILE ...
- `log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender`:指定了名为`CONSOLE`的appender是控制台输出。 - `log4j.appender.CONSOLE.Target=System.out`:日志输出到标准输出流(System.out)。 - `log4j....
- `log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender`:指定了数据库输出的Appender类型为`JDBCAppender`。 - `log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/log4j`:连接数据库的URL。 ...
1. **Logger**:日志器是Log4j的基本组件,负责接收日志事件并将其传递给适当的输出。开发者可以根据需要创建多个日志器,每个日志器可以有不同的输出配置。 2. **Appender**:Appender负责将日志信息输出到指定的...
在这个配置中,`MaxFileSize`参数指定了单个日志文件的最大大小(5MB),一旦达到这个大小,Log4j会滚动日志并创建新的文件。`MaxBackupIndex`参数指定了最多保留的旧日志文件数量,这里设置为10,意味着系统会保留...
Log4j的核心在于其灵活性,可以通过自定义布局模板来控制日志输出的格式。最常用的布局模板类是PatternLayout,它允许用户通过特定的模式字符串定义输出格式。例如,一个常见的模式是`%d{yyyy-MM-dd HH:mm:ss} %-5p ...
以上配置覆盖了Log4J常用的几种Appender类型及其配置参数,能够满足大多数应用场景的需求。开发者可以根据实际需求调整各个Appender的配置,以实现更加精细化的日志管理。此外,Log4J还提供了丰富的扩展机制,如MDC...
Log4j提供了灵活的日志配置,可以通过XML、properties文件或者代码动态改变日志级别,控制输出格式,以及指定日志输出的目的地(控制台、文件、数据库等)。此外,Log4j还支持自定义日志布局模式,可以方便地定制...
--Configuration 后面的 status,这个用于设置 log4j2 自身内部的信息输出,可以不设置,当设置成 trace 时,你会看到 log4j2 内部各种详细输出--> <!--monitorInterval:Log4j 能够自动检测修改配置 文件和重新配置...
- Log4j允许开发者创建自定义的Appender和Layout来满足特定需求,如发送邮件、写入数据库等。 - Appender决定了日志信息的输出位置,而Layout则决定日志的显示格式。 6. **Log4j的最新版本:Log4j 2** - 随着...
- 要实现不同线程的日志分别输出,我们需要创建一个自定义的Log4j2配置文件(通常为`.xml`或`.json`格式)。配置文件中,我们可以定义多个Appenders(输出目的地),每个Appender可以关联不同的日志级别和线程上...
Log4j比较全面的配置 log4j.rootLogger=DEBUG,CONSOLE,A1,im log4j.addivity.org.apache=true # 应用于控制台 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.Threshold=DEBUG log4j....
log4j.appender.FILE.Append=true log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ``` 这段配置将日志级别设为...
《log4j-1.2.17.jar及其...理解并熟练掌握Log4j的使用,不仅可以提升开发效率,也有助于优化系统的监控和维护。通过合理配置,Log4j可以适应各种复杂的应用场景,满足不同层次的需求,从而成为Java开发者的得力助手。
4. **Web应用配置**:在Web应用中,确保`commons-logging.properties`位于`WEB-INF/classes/`目录下,`log4j.properties`则可以放在`WEB-INF/`目录下,并在`web.xml`中配置Log4j初始化参数,以便Tomcat能找到并加载...
它允许程序员在运行时配置日志级别,选择不同的输出目的地(如控制台、文件、数据库等),并支持自定义日志格式。Log4j 1.2.16是该库的一个较旧版本,但仍然广泛使用。 **SLF4J(Simple Logging Facade for Java)*...