Logger组件

时间:2015-07-20 02:52:05

标签: logging mule

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

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

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

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

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

1 个答案:

答案 0 :(得分:3)

logger组件中的类别,可以在log4j.property文件中使用它来记录不同的日志。

示例:在要求中。假设我们需要捕获不同类别级别的多个细节:有效负载和时间戳详细信息(我们不希望将所有INFO详细信息记录在同一个中,并且它会变得混乱)。

我们可以使用类别区分如下。

在流程(示例)中,将两个记录器保持在下一个,同一级别(INFO)旁边,但在类别名称(Hello,audit)中不同。只有特定日志将记录在指定位置(在log4j中,为两者提供两个不同的位置)。在一个位置(您只能看到有效负载),而另一个位置只能看到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中发挥作用的。