cassandra appender-如何只记录错误消息?

bz4sfanl  于 2021-06-14  发布在  Cassandra
关注(0)|答案(1)|浏览(213)

我在应用程序中使用cassandraappender、控制台和文件appender。我只想储存 ERROR cassandra表日志中的消息 INFO 消息到控制台和文件。
下面是 log4j2.xml 文件。

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

<Configuration status="INFO">
    <Properties>
        <Property name="LOG_PATTERN">%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"</Property>
        <Property name="APP_LOG_ROOT">./log</Property>
        <Property name="MINLEVEL">INFO</Property>
        <Property name="FILEMAXSIZE">800MB</Property>
        <Property name="MAXFILES">5</Property>x
    </Properties>

    <Appenders>
        <Console name="console" target="SYSTEM_OUT" follow="true">
            <PatternLayout  pattern="${LOG_PATTERN}"/>
        </Console>

        <RollingFile name="ROLLING" fileName="${APP_LOG_ROOT}/abc.log"
                     filePattern="${APP_LOG_ROOT}/abc-%d{yyyy-MM-dd}-%i.log">
            <PatternLayout pattern="${LOG_PATTERN}"/>
            <Policies>
                <SizeBasedTriggeringPolicy size="${FILEMAXSIZE}" />
            </Policies>
            <DefaultRolloverStrategy max="${MAXFILES}"/>
        </RollingFile>
         <Cassandra name="Cassandra" clusterName="TestCluster" keyspace="Employee" table="Logs" bufferSize="10"  username="tomcat" password="password">
            <SocketAddress host="IPaddress" port="9042"/>
            <ColumnMapping name="userid" pattern="%uuid{TIME}" type="java.util.UUID"/>
            <ColumnMapping name="logger" pattern="%logger"/>
            <ColumnMapping name="message" pattern="%message"/>
            <ColumnMapping name="level" pattern="%level"/>
             <ColumnMapping name="timestamp" literal="now()"/>
        </Cassandra>
    </Appenders>

    <Loggers>
        <Root level="${MINLEVEL}" additivity="false">
            <AppenderRef ref="ROLLING"/>
        </Root>
        <Logger name="abc.xyz" level="ERROR" additivity="false">
            <AppenderRef ref="Cassandra" />
            <AppenderRef ref="console" />
        </Logger>
    </Loggers>

在最后一段中,当我将级别更改为 ${MINLEVEL} i、 e信息,然后它工作,但错误不工作。请帮帮我!

dy2hfwbg

dy2hfwbg1#

问题是additivity设置为false,这会阻止将消息复制到 root 以及 .xyz 伐木工人。如果将additivity设置为false,它将被发送到两个记录器。
更多信息可在此博客中找到。

相关问题