Java 使用自定义的详细级别配置log4j

Java 使用自定义的详细级别配置log4j,java,log4j,Java,Log4j,我想用自定义的详细级别(比如350)配置log4j.xml,以便打印到某个详细级别,并包括将在这个新级别(350)上打印的遥测数据。 我的档案有什么错误/遗漏 我还不知道如何调用记录器来附加消息。有一个方法日志(Level-Level,String-message),它获取一个级别,以便它可以工作-我还无法检查它。您试图记录的内容与您期望的不一样(向我们展示如何获取记录器和log语句)。请注意,您的自定义级别介于警告和信息之间。谢谢,这是我想要的级别。请参阅主帖子中的更新部分。您试图记录的内

我想用自定义的详细级别(比如350)配置log4j.xml,以便打印到某个详细级别,并包括将在这个新级别(350)上打印的遥测数据。 我的档案有什么错误/遗漏


我还不知道如何调用记录器来附加消息。有一个方法日志(Level-Level,String-message),它获取一个级别,以便它可以工作-我还无法检查它。

您试图记录的内容与您期望的不一样(向我们展示如何获取记录器和log语句)。请注意,您的自定义级别介于警告和信息之间。谢谢,这是我想要的级别。请参阅主帖子中的更新部分。您试图记录的内容与预期不符(向我们展示如何获取记录器和log语句)。请注意,您的自定义级别介于警告和信息之间。谢谢,这是我想要的级别。请参阅主要帖子中的更新部分
<!--print logs of telemetry, warning and above -->      
<CustomLevels>
    <CustomLevel name="telemetryLevel" intLevel="350"/> 
</CustomLevels>

<Appenders>

    <Console name="Console" target="SYSTEM_OUT">
        <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>


    <RollingFile name="deviceTelemetry" fileName="/home/device/telemetry-${date:yyyy-MM-dd}.log" append="false"
        filepattern="/home/device/telemetry-${date:yyyy-MM-dd}-%i.log">
        <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        <Policies>
            <OnStartupTriggeringPolicy />
            <SizeBasedTriggeringPolicy size="10M"/> 
        </Policies>
        <DefaultRolloverStrategy max="5"/>
    </RollingFile>


</Appenders>

<Loggers>   

    <Logger name="deviceTelemetry" level="telemetryLevel">
        <AppenderRef ref="deviceTelemetry"/>
    </Logger>

    <Root>
        <AppenderRef ref="Console" level="trace"/>
    </Root>

</Loggers>
Logger log = LogManager.getLogger("deviceTelemetry");