Log4j入门与详细配置教程

需积分: 34 3 下载量 201 浏览量 更新于2024-07-21 收藏 1.1MB PDF 举报
Log4j实战(入门、详解)是一篇深入介绍Apache开源日志管理框架Log4j的文章。该文章旨在帮助读者理解并掌握如何在Java项目中有效地使用Log4j进行日志记录和管理。以下是文章的主要知识点: 1. **Log4j简介**: - Log4j被设计用于在软件开发中提供灵活的日志记录功能,支持多种输出目的地,如控制台、文件、GUI、网络服务等。 - 它强调了代码的可维护性和模块化,提倡通过一个配置文件来管理日志行为,而不是直接在代码中硬编码大量打印语句。 2. **下载与使用**: - 文章指导读者下载log4j的jar文件,并通过编写一个测试类演示如何引入和初始化Log4j。 - 配置文件的编写至关重要,它决定了日志的行为,如输出级别、格式和目的地。 3. **Log4j构成**: - 介绍了Log4j的核心组件,如Logger、Appender(日志输出端)、Layout(日志格式化)和Hierarchy(组织和管理Logger)。 4. **使用方法**: - 提供了详细步骤,包括: - properties配置文件的配置方法,允许灵活地定义日志规则。 - XML配置文件的使用,通常更适合大型项目,提供了更丰富的结构化配置。 - 示例展示了如何在代码中使用Log4j API记录不同级别的日志信息。 - 注意事项部分涵盖了如何处理日志级别判断以及最佳实践。 5. **Properties文件实例**: - 通过具体的配置文件实例,展示了如何设置不同的日志输出规则,如不同级别、不同输出格式和目的地。 6. **注意事项**: - 强调了在使用Log4j前检查日志级别的重要性,避免不必要的日志记录,提高性能。 - 提醒开发者在多语言环境中利用Log4j的跨平台特性,实现统一的日志管理。 通过这篇指南,读者可以了解到如何在实际项目中有效地运用Log4j进行日志管理,提升代码的可维护性和可读性,同时确保日志的灵活性和可控性。
2019-06-25 上传
log4j.rootLogger=INFO,CONSOLE log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender INFO是日志记录的最低等级,必须写,它和比它高的等级会进入日志,如WARN、ERROR、FATAL、OFF。 关于8个日志等级,参考:https://blog.csdn.net/haoranhaoshi/article/details/89929470下半部分。 CONSOLE是appenderName,随便写,只要一致即可,换成A也行。 log4j推荐和slf4j一起用,关于log4j和slf4j, 参考:https://blog.csdn.net/haoranhaoshi/article/details/89929470上半部分。 log4j.appender.File.File=${user.dir}/logs/hmiservice.log ${user.dir}可以得到当前程序目录,关于${}里面可以使用的内容, 参考:https://blog.csdn.net/haoranhaoshi/article/details/93532273 写绝对路径也可以,但不推荐:log4j.appender.A.File=E:/Program/log/logs/info.log DailyRollingFileAppender支持按每月、周、日、时、分创建日志文件。 当前日志放在log4j.appender.File.File=${user.dir}/logs/hmiservice.log对应的命名文件中, 过了时间将原日志文件命名为原文件名后加上log4j.appender.File.DatePattern='.'yyyy-MM-dd-HH对应格式的日期, 注意不能用:和_。 关于DailyRollingFileAppender的使用,参考:https://www.cnblogs.com/zengdingxin/p/5135008.html log4j.appender.File=MyDailyRollingFileAppender MyDailyRollingFileAppender是自定义的类,需写包括包名的全路径,如果就在src-main-java下,写类名就行。 此类可以使log4j.appender.File.maxBackupIndex=12有效,DailyRollingFileAppender本身不支持创建日志文件的上限, 即不会清理过期日志文件。 log4j.appender.File.layout.ConversionPattern=%d{yyy MMM dd HH:mm:ss,SSS} %p %m%n 更多输出控制格式,参考:https://blog.csdn.net/reserved_person/article/details/52849505上半部分 log4j.appender.File.layout=org.apache.log4j.HTMLLayout 网页形式的日志文件,参考:https://blog.csdn.net/jQuerys/article/details/49909931 日志研发的方向: 日志内容 日志格式 多长时间、多大日志生成一个文件 多长时间、多大日志生成一个文件夹 多长时间、多大日志删除一个文件 多长时间、多大日志删除一个文件夹 日志等级是否分开存储 不同服务的日志是否分开存储 存储方式:后台打印、文件、数据库、邮件等,参考:https://blog.csdn.net/reserved_person/article/details/52849505下半部分 推荐的依赖组合: <dependency> <groupId>apache-log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>slf4j</groupId> <artifactId>api</artifactId> <version>1.6.6</version> </dependency> <dependency> <groupId>slf4j</groupId> <artifactId>log4j12</artifactId> <version>1.7.5</version> </dependency> 如果使用的是阿里的Maven仓库,最新的日志依赖可能没有,可以把这些依赖从官网下载后安装到本地。 本实战示例中在libs下有这些依赖。 执行以下命令,注意把Jar包路径改一下: mvn install:install-file -Dfile=C:\Users\hao\Desktop\log4j-1.2.17.jar -DgroupId=apache-log4j -DartifactId=log4j -Dversion=1.2.17 -Dpackaging=jar mvn install:install-file -Dfile=C:\Users\hao\Desktop\slf4j-api-1.6.6.jar -DgroupId=slf4j -DartifactId=api -Dversion=1.6.6 -Dpackaging=jar mvn install:install-file -Dfile=C:\Users\hao\Desktop\slf4j-log4j12-1.7.5.jar -DgroupId=slf4j -DartifactId=log4j12 -Dversion=1.7.5 -Dpackaging=jar