版权声明:随意转载 https://blog.csdn.net/bigcupwater/article/details/78032031
什么是日志?
日志,记录下程序运行过程中产生的相关信息,比如错误信息,执行时间、状态信息等。它方便写程序的人调试程序,了解程序运行情况。就好比一个人的日记,记录下他一天都干了些什么事一样。
写程序的时候,或多或少会出现问题。有时候发现这些错误最简单暴力的方法就是使用"System.out.print()、printStrackTrace()“打印相关的错误信息。这种方法固然直观有效,但是一旦输出多了起来,无法找到输出的位置,再加上最后这些话都需要注释掉,找个错就搞得会很麻烦。这个时候,我们就需要使用相关的日志工具辅助我们去生成这些信息,为自己调试、维护程序提供方便。
日志工具—-log4j
log4j 辅助我们生成日志,使用它我们可以控制日志信息输送的目的地、输出格式。定义每一条日志信息的级别,我们可以更细致的控制日志的生成过程。而这些控制的实现仅仅需要你去修改配置文件而已,而不需要修改代码。
log4j 就是一个相关包,使用它值需要把包导入到我们的项目里,然后就像使用Java类库一样直接使用。
使用方法
- 新建项目,项目名称随意,我这里使用的是 TestLog4j
导入相关包
- 右键新建的项目,选择 Build Path—>Configure Build Path—>选择 Libraries—>选择 Add External JARS…
- 在弹出的文件选择对话框中双击自己下载的 .jar 文件,点OK。
- 分别在 src 文件夹下面生成一个 log4j.properties 文件,右键 src 文件夹,new—>file—>在file name一栏输入 log4j.properties —>Finish
- 在工程根目录下,新建一个 log 文件夹,右键项目,new—>folder—>在folder name一栏输入 log —>Finish。再在该文件夹下面新建 log.log 文件和 errorlog.log 文件。
- 文件目录:
- 右键新建的项目,选择 Build Path—>Configure Build Path—>选择 Libraries—>选择 Add External JARS…
测试程序
双击 log4j.properties 文件,添加代码
log4j.rootLogger=info, stdout, log, errorlog log4j.Logger=search,Test ###Console ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} [ %t ] [ %p ]:%L - %m%n ### Log ### log4j.appender.log = org.apache.log4j.DailyRollingFileAppender log4j.appender.log.File = log/log.log log4j.appender.log.Append = true log4j.appender.log.Threshold = INFO log4j.appender.log.DatePattern='.'yyyy-MM-dd log4j.appender.log.layout = org.apache.log4j.PatternLayout log4j.appender.log.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t ] %m%n ### Error ### log4j.appender.errorlog = org.apache.log4j.DailyRollingFileAppender log4j.appender.errorlog.File = log/errorlog.log log4j.appender.errorlog.Append = true log4j.appender.errorlog.Threshold = ERROR log4j.appender.errorlog.DatePattern='.'yyyy-MM-dd log4j.appender.errorlog.layout = org.apache.log4j.PatternLayout log4j.appender.errorlog.layout.ConversionPattern =%-d{yyyy-MM-dd HH:mm:ss} [ %t ] %m%n
新建测试类,并添加代码
import org.apache.log4j.Logger; public class TestLog4j { public static void main(String[] args) { Logger logger = Logger.getLogger(TestLog4j.class); logger.info("Myname"); } }
控制台输出
16:49:27,541 [ main ] [ INFO ]:6 - Myname
- log.log 文件有文字信息
2017-09-19 16:49:27 [ main ] Myname
总结
如果成功出现上诉两段文字,说明 log4j 可以正常使用。从开始希望通过编译,到希望不出现异常,不出BUG,我们越走越远…..