Logger 组件中 Category 的使用示例

Example usage of Category within Logger component

Mule 有一个带有类别字段的日志记录组件。

如果使用此字段,记录器如下所示

INFO  2015-07-20 14:37:14,566 [[api.customers.authentication.v1505].HTTP_Listener_Configuration.worker.01] entrance: CorrelationID:3b012970-2e88-11e5-8f2c-74a920524153, Message:/api/customers/authentication/1 flow invoked
INFO  2015-07-20 14:37:14,567 [[api.customers.authentication.v1505].HTTP_Listener_Configuration.worker.01] org.mule.api.processorLoggerMessageProcessor: CorrelationID:3b012970-2e88-11e5-8f2c-74a920524153, Message:Message received in impl_validateCustomerSub_Flow

在上面的记录器中,第一个有一个名为入口的自定义类别,下一个只是默认类别

我的问题是有人可以举几个例子吗? ? ...如何使用它来更好地组织记录器...我知道它存在是有原因的,但不确定如何使用它。

记录器组件中的类别,可以在 log4j.property 文件中使用它来区分日志。

示例:在要求中。假设我们需要捕获不同类别级别的多个详细信息:有效负载和时间戳详细信息(我们不想将所有 INFO 详细信息记录在同一个中,这将是一团糟)。

我们可以通过类别区分如下

在流程(Example)中,将一些两个logger保留在next旁边,级别相同(INFO),但类别名称不同(Hello,audit)。只有特定的日志才会记录在指定的位置(在 log4j 中,为两者提供两个不同的位置)。一个位置(只能看到payload),另一个位置只能看到TimeStamp。

    <logger message="****Capture Payload: #[message.payload]****" level="INFO" doc:name="Logger" category="hello"/>
    <logger message="**Capture TimeSatmp:#[server.dateTime.getTime()]***" level="INFO" doc:name="Logger" category="audit"/>

需要相应地更新 log4j 属性 文件。

 #Category:hello Info 
 log4j.category.hello=INFO,LoggerInfo
 log4j.additivity.hello=false

 log4j.appender.hello=org.apache.log4j.RollingFileAppender
 log4j.appender.hello.File=c:/tmp/logger/hello.log
 log4j.appender.hello.MaxFileSize=4MB
 log4j.appender.hello.MaxBackupIndex=10
 log4j.appender.hello.layout = org.apache.log4j.PatternLayout
 log4j.appender.hello.layout.ConversionPattern=%p %t %c - %m%n

 #Category:audit Info 
 log4j.category.audit=INFO,audit
 log4j.additivity.audit=false

 log4j.appender.audit=org.apache.log4j.RollingFileAppender
 log4j.appender.audit.File=c:/tmp/logger/audit.log
 log4j.appender.audit.MaxFileSize=4MB
 log4j.appender.audit.MaxBackupIndex=10
 log4j.appender.audit.layout = org.apache.log4j.PatternLayout
 log4j.appender.audit.layout.ConversionPattern=%p %t %c - %m%n

可以根据需要以多种方式使用(上面给出的只是一个例子)。不确定这在 MMC 中如何发挥作用。