java 程序执行过程增加日志_怎样将日志添加到Java应用程序

步骤1:创建新应用程序

19f5a859497195af8afceffc8734ca92.png

e23c56da747bf318c6ba485a389aedfa.png

启动Netbeans并选择创建新的项目。我们要创建一个Maven项目。

选择JavaMaven项目后,为您的项目命名。我叫我的MyFirstLoggingApplication。

步骤2:添加主类-使之可执行

您现在应该拥有一个全新的干净应用程序。我们首先需要创建一个简单的Java类,并添加main方法使其可执行。我们将使其保持简单,并添加一些附加内容以向控制台编写一些内容。

创建一个新的Java类

命名它。我的示例是MyLoggingApplication

接下来,我们使用以下代码添加main方法:

/*

*Myapplicationheader

*/

packagecom.thegeekbiker.myfirstloggingapplication;

/**

*@authorLordFluffyGoggles

*/

publicclassMyLoggingApp{

//mainmethod

publicstaticvoidmain(String[]args){

System.out.println(“Applicationstartingprocesseshere.”);//Displaythestring.

System.out.println(“Applicationdomorestuffhere.”);

System.out.println(“Applicationendprocesseshere.”);

}

}

运行此应用程序时,您将看到三行内容输出。第一个代表启动过程,主要应用程序运行,最后一个代表应用程序完成。

步骤3:添加Log4J日志记录模块并配置

442ecc3ab6bc5202b52b7f36f3934fac.png

97c7f95842ecadda653bde18f9fea374.png

babaffc98f9ed85f2129d73ee006023e.png

我们将使用Log4J模块。在该站点上:

将日志语句插入代码中是调试它的技术含量较低的方法。这也可能是唯一的方法,因为调试器并不总是可用或不适用。对于多线程应用程序和整个分布式应用程序通常是这种情况。

打开pom.xml文件。此文件是Maven如何下载所需的软件包和模块供我们使用的方式。

添加以下代码:

log4j

log4j

1.2.17

如果您现在启动应用程序,您将看到应用程序抱怨log4j没有可用的配置,因此未启用日志记录。

有多种配置log4j的方法。我们将使用属性文件。

在应用程序的根文件夹中创建一个名为log4j.properties的文件。这不是理想的选择,但是在以后的文章中,我将介绍有关移动资源文件的信息。

现在,我们希望我们的应用程序仍将所有日志记录写入控制台,但是我们将继续它也可以写入日志文件。以防万一您以后需要调查问题。

将以下部分添加到您的log4j.properties文件中:

#Rootloggeroption

log4j.rootLogger=DEBUG,stdout,file

#Redirectlogmessagestoconsole

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{yyyy-MM-ddHH:mm:ss}%-5p%c{1}:%L-%m%n

#Redirectlogmessagestoalogfile,supportfilerolling.

log4j.appender.file=org.apache.log4j.RollingFileAppender

log4j.appender.file.File=C:\logs\MyLoggingApp.log

log4j.appender.file.MaxFileSize=5MB

log4j.appender.file.MaxBackupIndex=10

log4j.appender.file.layout=org.apache.log4j.PatternLayout

log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-ddHH:mm:ss}%-5p%c{1}:%L-%m%n

步骤4:将日志记录添加到应用程序中

我们需要通过我们的应用程序中的错误来知道哪个类。因此,我们需要将记录器实例与写入日志文件的类相关联。对于我们的测试应用程序,它非常简单,因为我们只有一个类。

在该类中添加以下行:

finalstaticLoggerlogger=Logger.getLogger(MyLoggingApp.class);

现在我们需要将log4j配置为读取我们创建的属性文件。幸运的是,这仅需要一次,而不是每个班级都需要。

main方法中的以下代码应该足以加载属性文件:

PropertyConfigurator.configure(“log4j.properties”);

如果您现在运行应用程序,但仍然抱怨找不到文件,那么您可能需要将文件复制到pom.xml文件所在的目录。如前所述,在以后的文章中,我将讨论如何确切指定这些文件的类型。

您可以在应用程序的各个级别进行登录。错误,警告,调试,信息等。

我将在此处和此处添加一些信息和调试信息,以便您了解如何以及在何处使用它。

publicclassMyLoggingApp{

finalstaticLoggerlogger=Logger.getLogger(MyLoggingApp.class);

//mainmethod

publicstaticvoidmain(String[]args){

PropertyConfigurator.configure(“log4j.properties”);

if(logger.isInfoEnabled())logger.info(“Applicationstarting.。.”);

System.out.println(“Applicationstartingprocesseshere.”);

if(logger.isInfoEnabled())logger.info(“Applicationstartedsuccessfully”);

try{

System.out.println(“Applicationdomorestuffhere.”);

if(logger.isDebugEnabled())logger.debug((“Applicationdidsomething”));

}catch(Exceptione){

logger.error(“Somethingwentwrong:”+e);

}

if(logger.isInfoEnabled())logger.info(“Applicationfinishingup.。.”);

System.out.println(“Applicationendprocesseshere.”);

if(logger.isInfoEnabled())logger.info(“Applicationfinished.。.”);

}

}

步骤5:运行应用程序

剩下的就是运行应用程序并检查日志文件。

2015-10-3122:00:30INFOMyLoggingApp:18-Applicationstarting.。.

2015-10-3122:00:30INFOMyLoggingApp:20-Applicationstartedsuccessfully

2015-10-3122:00:30DEBUGMyLoggingApp:23-Applicationdidsomething

2015-10-3122:00:30INFOMyLoggingApp:27-Applicationfinishingup.。.

2015-10-3122:00:30INFOMyLoggingApp:29-Applicationfinished.。.

由于我们的应用程序没有发生任何错误,因此没有显示ERROR行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值