一般log4j的配置是通过log4j.properties或xml进行配置,但在实际开发中,遇到有时候需要在代码中自动生成log appender,主要代码如下:
写道
/**
* 根据 partnerCode 获取Log Handler
*
* @param parnterCode parnterCode
* @return Log
*/
private Logger _getLogger(String parnterCode) {
Logger logger = (Logger) this.logHandlerMap.get(parnterCode);
if (logger == null) {
try {
// Category logger = Category.getInstance("com.viewtoo.cooperate.service.CooperateLog." + partners[i]);
logger = Logger.getLogger("com.viewtoo.cooperate.logservice." + parnterCode);
Layout layout = new PatternLayout("%d{yyyy-MM-dd HH:mm:ss}%m%n");
String filePath = this.cooperateDrLogFileDir + "/cooperate_dr_" + parnterCode + ".log";
String datePattern = ".yyyy-MM-dd";
DailyRollingFileAppender appender = new DailyRollingFileAppender(layout, filePath, datePattern);
logger.setLevel(Level.INFO);
logger.addAppender(appender);
this.logHandlerMap.put(parnterCode, logger);
} catch (IOException e) {
e.printStackTrace();
}
}
return logger;
}
/**
* 记日志到文件,以后再解析文件入DB,采用log4j技术
*
* @param drLog drLog
*/
private void _log2File(CooperateDr drLog) {
Logger logger = this._getLogger(drLog.getPartnercode());
logger.info(drLog.toString());
}
分享到:
相关推荐
Log4j允许设置日志文件的最大大小,当达到限制时,会自动滚动到新的文件。在配置文件中,可以这样设置: ``` log4j.appender.file.MaxFileSize=10MB log4j.appender.file.MaxBackupIndex=10 ``` 这意味着每个...
log4j.appender.RFA=org.apache.log4j.DailyRollingFileAppender log4j.appender.RFA.File=${catalina.base}/logs/catalina.out log4j.appender.RFA.Append=true log4j.appender.RFA.Threshold=DEBUG log4j.appender...
本文将深入探讨如何利用Log4j生成动态的日志文件名以及动态创建文件夹,帮助开发者更好地管理和分析应用程序的运行状态。 Log4j是一款功能强大的开源日志组件,它允许程序员灵活地控制日志信息的输出级别,如DEBUG...
- `org.apache.log4j.RollingFileAppender`:当文件大小达到指定值时,自动滚动日志文件,创建新文件。 - `org.apache.log4j.WriterAppender`:可以将日志信息以流的方式发送到任何指定的位置。 3. **Layout**:...
1. **Logger**:这是Log4j的基本元素,负责生成日志事件。开发者可以通过Logger实例来记录日志,每个类通常都有一个与之相关的Logger。 2. **Level**:定义了日志的级别,包括DEBUG、INFO、WARN、ERROR和FATAL,...
配置完成后,当应用程序中的Log4j被调用时,生成的日志将会自动发送到指定的Kafka主题。这种方式非常适合大规模分布式系统,因为它能够确保日志的实时性和可靠性。 总结一下,Kafka Java Log4j的整合使日志处理变得...
6. **配置文件**:Log4j通常通过配置文件(如log4j.properties或log4j.xml)来设置其行为,包括定义日志器、appender和layout。 7. **MDC(Mapped Diagnostic Context)和NDC(Nested Diagnostic Context)**:这两...
本话题将深入探讨如何使用Log4j中的DailyRollingFileAppender配置来自动删除前N天的日志,以便保持日志文件的大小和数量在可控范围内。 首先,DailyRollingFileAppender是Log4j中的一个Appender实现,它按照日期...
log4j.appender.RFA=org.apache.log4j.DailyRollingFileAppender log4j.appender.RFA.File=/path/to/logfile.log log4j.appender.RFA.layout=org.apache.log4j.PatternLayout log4j.appender.RFA.layout....
现在,Tomcat将根据配置的`log4j.properties`文件生成并管理日志,每天自动创建一个新的日志文件。 6. **优化与扩展** - 可以根据需求添加其他appender,比如发送日志到电子邮件或者syslog。 - 使用不同的日志...
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender # 设置日志文件路径,使用${user.dir}系统属性 log4j.appender.FILE.File=${user.dir}/logs/app.log # 设置日期和时间格式,每天生成一个新的日志...
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ``` 这里定义了一个名为"stdout"的Appender,将日志输出到...
除了默认的`FileAppender`,Log4j还提供了多种Appender,如`ConsoleAppender`(输出到控制台)、`SMTPAppender`(发送电子邮件)、`RollingFileAppender`(文件大小达到一定限制后自动滚动)等。根据实际需求,你...
log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ``` 2. **文件输出**: ```xml log4j.rootLogger=INFO, ...
由于commons-logging的存在,你无需直接使用log4j的类,而是通过`java.util.logging.Logger`的接口来实现日志记录,commons-logging会自动找到log4j作为底层实现。 总之,log4j.jar和commons-logging.jar是Java开发...
log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n log4j.appender.File=org.apache.log4j....
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd'.log' # 每天生成一个新的日志文件 # 设置日志格式 log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=%d...
首先,log4j是Apache软件基金会的一个项目,它提供了一个灵活的日志框架,用于在Java应用程序中生成日志。log4j的核心概念包括Appender(输出目的地,如控制台、文件、数据库等)、Layout(格式化输出内容)和Logger...
首先,Log4j主要由三部分组成:配置文件(log4j.properties或log4j.xml)、日志记录器(Logger)和日志输出格式(Appender)。配置文件定义了日志的级别、输出目的地和格式。日志记录器是用于生成日志的对象,而...
综上所述,"log4j记录压缩日记"主要涉及的是使用Log4j进行日志记录,并利用特定的Appender实现日志文件的滚动和压缩,以优化日志存储和管理。在实际的开发和运维工作中,理解并正确配置Log4j的这些特性对于监控系统...