【问题标题】:Logs are not showing in Netbeans console after version 11.0在 11.0 版之后,日志未显示在 Netbeans 控制台中
【发布时间】:2020-04-12 02:02:34
【问题描述】:

当我使用 11.0 版时,我的 JakartaEE 8 应用程序用于在 Netbeans 控制台中显示日志。当我升级到版本 11.1、11.2 和最近的 11.3 时,我仍然在 Netbeans 控制台中看不到应用程序日志。

我尝试修改我的 logback 配置,但实际上我不太擅长这个,所以我坚持使用默认配置。我尝试恢复到 Netbeans 11.0 并且日志显示在控制台中。我在某处读到 Netbeans 11.1 破坏了有关控制台日志记录的内容,但我可以提醒我在哪里看到的。有什么想法吗?

环境:

  • Apache Netbeans 11.3
  • Payara 服务器 5.201
  • JakarteEE 8.0
  • 回退

pom.xml

    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.3</version>
    </dependency>

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
        <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg</Pattern>
    </layout>
</appender>

<logger name="ca.allaxis" level="ALL" additivity="false">
    <appender-ref ref="CONSOLE"/>
</logger>

<root level="DEBUG">
    <appender-ref ref="CONSOLE" />
</root>

示例

private static final Logger LOGGER = LoggerFactory.getLogger(InspectionController.class);
LOGGER.info("Create registration(s) for {} selected inspections.", selectedItems.size());

【问题讨论】:

  • [1] 这个开放且未解决的 NetBeans 错误报告是否与您的问题相关?...NETBEANS-3042 can't see loggers (log4j2) created from apps deployed on Payara servers。它指出 “这是 11.1 版本 + payara 5 中引入的 Netbeans 问题”,这与您所描述的相对应。 [2] 另请参阅 I can't see logs from apps on Payara 4.1, just # on Netbeans console tab,其中“解决方案”是回归到 NetBeans 11.0。
  • 我有类似的错误,所以我现在使用 Netbeans 8
  • 是的,这描述了我在使用 Netbeans 11.1+ 时遇到的问题。但是恢复到 Netbeans 11.0 并不是一个解决方案。这需要解决或破解。像这样打破控制台有什么意义。
  • @PierreFrancisRoy 你说“恢复到 Netbeans 11.0 不是解决方案”,这是真的(因为它只是一种解决方法),但它是一个可行的选择大多数用户。如果您恢复到 NetBeans 11.0,您必须面对哪些现实问题?我能想到的唯一重大限制是你失去了使用 JDK 13 或 JDK 14 的能力,这对大多数用户来说不太可能是一个主要问题。
  • @skomisa 我可以使用 Netbeans 11.0。我仍然觉得过去两年在 Java 世界中令人沮丧,因为没有工具组合可以让我在升级的同时保持相同的生产力水平。理想情况下,我应该继续使用 JDK8 + Netbeans 8.2 + Java EE 7/8 和 Payara 4.x。一旦我开始升级一个或另一个,它就开始破坏我的工具链,要么是 Netbeans 不支持最新的 Payara,要么是更新的 JDK 存在问题,要么是我丢失了控制台,要么是热部署。我不喜欢看到 Netbeans 中的回归导致它毫无用处。

标签: logging jakarta-ee netbeans logback payara


【解决方案1】:

如果将模式中的时间格式更改为 HH;mm:ss.SSS,则 NetBeans 中显示的日志(我使用 11.1 和 12.3,也可以)。因为,我对控制台和日志文件使用了特定的模式。

log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration monitorInterval="30">
  <properties>
    <property name="name">server-log</property>
    <property name="path">d:/server/logs</property>
    <property name="pattern">%d{HH:mm:ss.SSS} [%-5level] [%t] %c{1} - %msg%n</property>
    <property name="pattern2">%d{HH;mm:ss.SSS} [%-5level] [%t] %c{1} - %msg</property>
  </properties>
  <appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="${pattern2}" charset="UTF-8"/>
    </Console>
    <RollingFile name="RollingFile" fileName="${path}/${name}.log"
                 filePattern="${path}/$${date:yyyy-MM}/${name}-%d{yyyy-MM-dd}-%i.log.gz">
      <PatternLayout>
        <pattern>${pattern}</pattern>
      </PatternLayout>
      <Policies>
        <OnStartupTriggeringPolicy />
        <TimeBasedTriggeringPolicy /><!-- Rotated everyday -->
        <SizeBasedTriggeringPolicy size="5 MB"/> <!-- Or every 5 MB -->
      </Policies>
    </RollingFile>
  </appenders>
  <loggers>
    <root level="info"> <!-- We log everything -->
      <appender-ref ref="Console"/> <!-- To console -->
      <appender-ref ref="RollingFile"/> <!-- And to a rotated file -->
    </root>
  </loggers>
</configuration>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    相关资源
    最近更新 更多