使用标准的java logging API (导入java.util.logging.Logger),在构造之后:
Logger l = Logger.getLogger("mylogger");
我已经可以记录一些东西了。因为它没有FileHandler,所以它不会向磁盘写入任何内容。
l.severe("test with no handler");
它将(部分,而不是全部)日志消息写入输出。如何禁用此功能?提前感谢Agostino
我使用websphere 9应用服务器部署war和ear,并使用java.util.logging在应用程序中生成日志。我尝试使用属性文件来配置LogManager的FileHandler,但websphere在我的文件中写入了所有其他日志。我不使用log4j,因为我不能在运行时设置日志级别。
是否可以使用java.util.logging在websphere上通过应用程序创建不同的文件日志?
This is my properties file Logger.properties
handlers= java.util.logging.FileHandler
#java.util.logg
我使用的是apache commons-loggings框架的JDK14Logger实现。调试日志不会出现,只有当我将根记录器设置为FINE时,它们才会出现。我的理解是,设置为特定处理程序的日志级别应该覆盖根记录器的日志级别。然而,这并没有发生。
# The following creates the console handler
handlers=java.util.logging.ConsoleHandler, java.util.logging.FileHandler
# Set the default logging level for the root logger
.level
我使用标准的Java,即java.util.logging。
关于这方面的教程,我发现使用extends Formatter,但是在java 8格式化程序是最终的。
我想要的是创建自己的类来确定在控制台中发送的消息的格式。这是我未完成的初始化日志的代码:
// Init logger
{
// get the global logger to configure it
Logger logger = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME);
// Remove all old/default loggers
L
我使用的是枚举单例,但是实现日志记录很麻烦。这一点:
public enum Foo {
INSTANCE;
private final Logger log = Logger.getLogger(Foo.class.getName());
...
}
记录器的实例化方式与我为普通Java类实例化记录器的方式相同,但当然我会得到以下错误:
Foo.java: illegal reference to static field from initializer
有没有一种等价的方法登录枚举单例?
Android Studio 0.8.1
java version "1.7.0_60"
你好,
我创建了一个jar文件,并从我的Android应用程序中调用了这个文件。为了进行有目的的测试,我希望将一些日志记录放在将显示在LogCat窗口的jar文件中。
我决定使用Java的java.util.logging.Logger类。但是,当我使用No Filter运行我的应用程序时,我无法看到我的日志消息正在显示。
import java.util.logging.ConsoleHandler;
import java.util.logging.SimpleFormatter;
i
我有一个RouteBuilder路径,包括:
.log(LoggingLevel.DEBUG, "Unknown type on reporting queue")
很抱歉问了这个问题,但是这里有记录吗?霍蒂奥证实它正在被处决。但是它不在/var/log/tomcat/myproject.log或var/log/tomcat/myproject/camel.log文件中。我也没在/var/log/messages上看到
我在myproject.log中看到从bean中记录的消息,但是.log(...)谓词没有记录任何消息。
编辑之后,我发现slf4j可以坐在log4j上面。我找
您好,我正在尝试在我的应用程序中实现java日志。我想使用两个处理程序。一个文件处理程序和我自己的控制台处理程序。我的两个处理程序都工作得很好。我的日志被发送到一个文件和控制台。我的日志也被发送到默认的控制台处理程序,这是我不想要的。如果您运行我的代码,您将看到额外的两行发送到控制台。我不想使用默认的控制台处理程序。有谁知道如何禁用默认的控制台处理程序。我只想使用我创建的两个处理程序。
Handler fh = new FileHandler("test.txt");
fh.setFormatter(formatter);
logger.addHandler(fh);
Han