Tag: logback

jboss没有使用logback进行日志记录

我正在迁移一个曾经使用log4j到logback / slf4j的应用程序,并且已经有大约2个星期的问题…我做了一个小项目来测试logback / slf4j并且工作得很好,但出于某种原因应用它时到实际的应用程序,它只是不想工作。 我正在使用JBoss 6.2并将EAR部署到standalone / deployments目录并启动服务器(除了我得到这个exceptionjava.lang.ClassCastException: org.slf4j.impl.Slf4jLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext之外,这一切都很好,很开心。 java.lang.ClassCastException: org.slf4j.impl.Slf4jLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext )但无论如何,回到主要问题。 当我运行应用程序时,我将其打印到我指定的日志文件中 10:51:06.752 [main] DEBUG org.jboss.logging – Logging Provider: org.jboss.logging.Slf4jLoggerProvider 10:51:06.780 [main] DEBUG ojnrclient.InitialContextFactory – Looking for jboss-naming-client.properties using classloader sun.misc.Launcher$AppClassLoader@194d4313 10:51:06.782 [main] DEBUG ojnrclient.InitialContextFactory – jboss.naming.client.endpoint.create.options. has the following options {} 10:51:06.783 […]

如何在运行时更改单个记录器的日志级别?

我想阅读spring属性并基于此属性更改某些包的日志级别(不适用于root logger)。 如何使用logback实现它?

logback在名称为当前日期的文件夹中创建日志文件

在我目前的项目中,我希望日期创建日志文件,即日志文件应该驻留在里面 名称为日期的文件夹。 归档也应该在该特定文件夹中进行。 我正在使用的当前appender看起来像这样(它根据大小存档日志文件)。 ${PROJECT_HOME}\\projectname\\audits\\myproject.log true ${PROJECT_HOME}\\projectname\\audits\\myproject_%d{yyyy-MM-dd}.%i.zip 10 10KB %date %msg%n

如何通过JUnit测试拦截SLF4J日志记录?

是否有可能通过JUnit测试用例以某种方式拦截日志记录(SLF4J + logback)并获取InputStream (或其他可读的东西)?

无法在logback.xml中使用Spring Property Place

我有一个使用Logback的Spring Boot控制台应用程序。 所有属性(对于应用程序以及对于Logback)都被外部化到类路径中的标准application.properties文件中。 这些属性在应用程序本身中很好地被选中,但是在logback.xml文件中没有被选中。 似乎在Spring Boot启动之前处理了logback.xml,因此不会处理EL占位符。 以FileNamePattern为例,在application.properties中,我有这样的事情: log.filePattern=/%d{yyyy/MM-MMMM/dd-EEEE} 在logback.xml中,我会这样: ${log.logDirectory}${log.filePattern}.log 运行应用程序时,我会看到以下错误: ERROR in ch.qos.logback.core.joran.spi.Interpreter@24:25 – RuntimeException in Action for tag [rollingPolicy] java.lang.IllegalStateException: FileNamePattern [log.logDirectory_IS_UNDEFINEDlog.filePattern_IS_UNDEFINED.log] does not contain a valid DateToken 类似的代码在其他Spring(而不是Spring Boot)应用程序中运行得很好,所以我很好奇Spring Boot的行为有点不同。 解: 感谢@Gary的回复! 很高兴知道Spring EL和Logback变量之间的区别……我原以为是Spring负责为我解析这些变量。 我确实有元素,但这让我思考。 我的application.properties文件在jar之外,所以Logback不知道在哪里找到它。 通过在我的外部application.properties文件中保存与Spring相关的属性,将与日志相关的属性移动到application-internal.properties文件(位于jar中),并将Logback指向该文件( )让一切按预期工作!

如何从Swing应用程序中的Logback链接日志?

我必须向应用程序添加一个面板,该面板将记录应用程序的错误。 我已经创建了一个扩展AppenderBase的类,我已经配置了xml文件来使用这个类。 因此,当我在应用程序中记录某些内容时,他会调用它。 但目前我不知道如何将我的appender链接到我的面板。 你能指导我吗?

以编程方式设置Logback Appender路径

我正在尝试以编程方式设置Logback appender路径。 (具有FixedWindowRollingPolicy的RollingFileAppender准确) 我这样做是因为我想让我的用户在首选项对话框中设置日志路径(Eclipse RCP) 我尝试过类似的东西,但是我没有改变配置文件中定义的日志路径: Logger logback_logger = (ch.qos.logback.classic.Logger)LoggerFactory .getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME); RollingFileAppender rfappender = (RollingFileAppender)logback_logger.getAppender(“FILE”); rfappender.setFile(newFile); FixedWindowRollingPolicy rollingPolicy = (FixedWindowRollingPolicy)rfappender.getRollingPolicy(); rollingPolicy.setFileNamePattern(newPattern);

SLF4J + Logback不会登录WildFly

我在WildFly 8中运行Web应用程序,由于某种原因它不会记录。 我使用SLF4J和LOGBACK。 日志文件是在部署时创建的,但它是空的。 我也没有在wildfly日志中看到我的日志语句。 该课程包含: package com.blah.oops; import org.slf4j.Logger; import org.slf4j.LoggerFactory; static final Logger log = LoggerFactory.getLogger(EndpointImpl.class); log.debug(“request called”); 战争包含: WEB-INF \ lib中\ SLF4J-API-1.7.5.jar WEB-INF \ lib中\的logback经典-1.1.1.jar WEB-INF \ lib中\的logback核-1.1.1.jar WEB-INF \类\ logback.xml 配置文件logback.xml包含: ${LOG_PATH}/backend-main.log %date %level [%thread] %logger{10} %msg%n PROFILER ACCEPT <!– DENY –> console.log包含logback初始化: .[0m.[0m10:19:52,716 INFO [stdout] (MSC service thread 1-2) 10:19:52,489 […]

SLF4J – Logback:如何在运行时配置记录器?

我们正在使用LogBack和我们的项目,我想根据一些数据库值配置记录器,即如果某个DB值设置为true,那么logger应该同时使用文件和DB appender,如果它是false,那么logger必须只使用DB appender , 我还想保留使用静态最终记录器,因此每次调用记录器时我都不会创建新实例, 那我怎么能这样做呢? 问候,

Dropwizard不会将自定义记录器记录到文件中

我有一个dropwizard应用程序,我将logger appender配置为文件,如下所示: logging: level: INFO loggers: “mylogger”: INFO “com.path.to.class”: INFO appenders: – type: file currentLogFilename: .logs/mylogs.log archivedLogFilenamePattern: .logs/archive.%d.log.gz archivedFileCount: 14 并且,在我的应用中创建了记录器: import org.slf4j.Logger; import org.slf4j.LoggerFactory; private final Logger OpLogger = LoggerFactory.getLogger(“mylogger”); (and) private final Logger ClassLogger = LoggerFactory.getLogger(pathToClass.class); 在main()中进行一些测试记录: OpLogger.info(“test 1”); ClassLogger.info(“test 2); 应用程序启动并运行没有问题; 但我没有得到任何日志(除了Jetty访问日志,当然,正确打印到mylogs.log),无论是在stdout还是在mylogs.log文件中。 相反,如果我删除configuration.yml中的记录器配置,我会将所有日志打印到stdout。 也许这是dropwizard的问题,或者我必须在configuration.yml中添加一些东西? 我正在使用Dropwizard 0.8.0