怎样将日志添加到Java应用程序

步骤1:创建新应用程序
启动netbeans并选择创建新的项目。我们要创建一个maven项目。
选择java maven项目后,为您的项目命名。我叫我的myfirstloggingapplication。
步骤2:添加主类-使之可执行
您现在应该拥有一个全新的干净应用程序。我们首先需要创建一个简单的java类,并添加main方法使其可执行。我们将使其保持简单,并添加一些附加内容以向控制台编写一些内容。
创建一个新的java类
命名它。我的示例是myloggingapplication
接下来,我们使用以下代码添加main方法:
/*
* my application header
*/
package com.thegeekbiker.myfirstloggingapplication;
/**
* @author lordfluffygoggles
*/
public class myloggingapp {
//main method
public static void main(string[] args) {
system.out.println(“application starting processes here.”); // display the string.
system.out.println(“application do more stuff here.”);
system.out.println(“application end processes here.”);
}
}
运行此应用程序时,您将看到三行内容输出。第一个代表启动过程,主要应用程序运行,最后一个代表应用程序完成。
步骤3:添加log4j日志记录模块并配置
我们将使用log4j模块。在该站点上:
将日志语句插入代码中是调试它的技术含量较低的方法。这也可能是唯一的方法,因为调试器并不总是可用或不适用。对于多线程应用程序和整个分布式应用程序通常是这种情况。
打开pom.xml文件。此文件是maven如何下载所需的软件包和模块供我们使用的方式。
添加以下代码:
log4j
log4j
1.2.17
如果您现在启动应用程序,您将看到应用程序抱怨log4j没有可用的配置,因此未启用日志记录。
有多种配置log4j的方法。我们将使用属性文件。
在应用程序的根文件夹中创建一个名为log4j.properties的文件。这不是理想的选择,但是在以后的文章中,我将介绍有关移动资源文件的信息。
现在,我们希望我们的应用程序仍将所有日志记录写入控制台,但是我们将继续它也可以写入日志文件。以防万一您以后需要调查问题。
将以下部分添加到您的log4j.properties文件中:
# root logger option
log4j.rootlogger=debug, stdout, file
# redirect log messages to 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{yyyy-mm-dd hh:mm:ss} %-5p %c{1}:%l - %m%n
# redirect log messages to a log file, support file rolling.
log4j.appender.file=org.apache.log4j.rollingfileappender
log4j.appender.file.file=c:logsmyloggingapp.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-dd hh:mm:ss} %-5p %c{1}:%l - %m%n
步骤4:将日志记录添加到应用程序中
我们需要通过我们的应用程序中的错误来知道哪个类。因此,我们需要将记录器实例与写入日志文件的类相关联。对于我们的测试应用程序,它非常简单,因为我们只有一个类。
在该类中添加以下行:
final static logger logger = logger.getlogger(myloggingapp.class);
现在我们需要将log4j配置为读取我们创建的属性文件。幸运的是,这仅需要一次,而不是每个班级都需要。
main方法中的以下代码应该足以加载属性文件:
propertyconfigurator.configure(“log4j.properties”);
如果您现在运行应用程序,但仍然抱怨找不到文件,那么您可能需要将文件复制到pom.xml文件所在的目录。如前所述,在以后的文章中,我将讨论如何确切指定这些文件的类型。
您可以在应用程序的各个级别进行登录。错误,警告,调试,信息等。
我将在此处和此处添加一些信息和调试信息,以便您了解如何以及在何处使用它。
public class myloggingapp {
final static logger logger = logger.getlogger(myloggingapp.class);
//main method
public static void main(string[] args) {
propertyconfigurator.configure(“log4j.properties”);
if(logger.isinfoenabled()) logger.info(“application starting.。.”);
system.out.println(“application starting processes here.”);
if(logger.isinfoenabled()) logger.info(“application started successfully”);
try{
system.out.println(“application do more stuff here.”);
if(logger.isdebugenabled()) logger.debug((“application did something”));
} catch (exception e){
logger.error(“something went wrong :”+e);
}
if(logger.isinfoenabled()) logger.info(“application finishing up.。.”);
system.out.println(“application end processes here.”);
if(logger.isinfoenabled()) logger.info(“application finished.。.”);
}
}
步骤5:运行应用程序
剩下的就是运行应用程序并检查日志文件。
2015-10-31 22:00:30 info myloggingapp:18 - application starting.。.
2015-10-31 22:00:30 info myloggingapp:20 - application started successfully
2015-10-31 22:00:30 debug myloggingapp:23 - application did something
2015-10-31 22:00:30 info myloggingapp:27 - application finishing up.。.
2015-10-31 22:00:30 info myloggingapp:29 - application finished.。.
由于我们的应用程序没有发生任何错误,因此没有显示error行。

三星电子或将发布配备“可卷曲滑动”显示屏的智能手机
明纬电源——150~200W恒流型LED驱动器(ELG-200-C系列)
基于机器学习的晶体结构搜索方法和第一性原理计算
浅谈未来工控机的应用形式
带大家了解光学器件在电路隔离中的重要应用
怎样将日志添加到Java应用程序
纽扣电池盒的选择
科普:保险丝工作原理及特性术语
Synopsys是接口IP市场无可争议的领导者,占有51%的接口IP授权市场份额
华为P10闪存门、疏油层事件最新消息:微博上公开回应了3次,余承东该做一个真诚的人!
人工智能技术被大规模地应用在许多工业领域
大众将在车上使用亚马逊Alexa语音服务 直接说“Hey 大众”
火力全开的联发科,天玑9000冷静输出
ADC模拟电路皇冠上的明珠(2)
TE推出了三款新型低外形排式连接器,更加便携灵活
骨传导耳机什么牌子性价比高,性价比高的骨传导式耳机推荐
!销售/维修MF76A微波频率计MF76A小兵/罗S:138
5G能完美赋能自动驾驶吗?
铝制散热器采用高频焊接的效果
你喜欢什么样的解锁方式?和大家喜欢的是一样的吗?