我有一个独立的课程。我必须为此文件提供日志记录机制,以记录发生的所有进程,包括异常。稍后这将与罐子一起整合。什么是最好的日志记录机制,即使在集成后也将兼容。由于我的只是一个未包含在jar中的类文件,是否可以使用log4J?更多建议欢迎。
答案 0 :(得分:3)
您可能希望使用LogBack作为通用slf4j框架的实现。请注意,log4j也是slf4j的一个实现,这意味着如果你编程到slf4接口,你可以通过用另一个替换一个jar来交换logback和log4j。继续第一步,并记下此简介link的通用导入。使用logback,您可以使用以下命令指示应用程序在何处找到配置文件:-Dlogback.configurationFile=path/filename.ext
您收到的异常(在评论中描述)意味着您可能未配置log4j或您的应用无法找到配置文件。
编写自己的记录器类或使用util包提供的类似乎不是一个好主意..
答案 1 :(得分:2)
你可以使用java.util.logging.Logger
,它是自1.4.2以来的java的一部分(至少)。
但是,您可以做的最合适的事情是使用您知道在将课程集成到项目其余部分时将要使用的日志框架。
答案 2 :(得分:1)
我可以在这里推荐使用静态类,您可以自己定义。例如:
class Logger {
public Logger() {
//you can create/open a log file here
}
public static void log(String message, int messageType) {
//write to the file, or whatever you want to do with the message
System.out.println(message);
}
}
调用新的Logger();在程序启动期间的某个地方。现在你可以随时随地打电话了
Logger.log(message);
在我的情况下,这已经足够了,虽然非常简单。我不熟悉像log4j这样的库,它可能包含更多功能。