我有要更新的記錄(該項目已經存在的記錄,但我不相信這是有史以來的工作)的天青工作者的作用。它設置爲使用Common.Logging,但使用Log4Net。我在Log4Net中設置了兩個appender - 一個用於ElasticSearch,一個用於滾動文件 - 兩者都不記錄任何輸出。log4net的+ Common.Logging +天青=空日誌文件
在輔助角色的app.config中,我已經配置log4net的,其次是Common.Logging:
...
<log4net>
<appender name="ElasticSearchAppender" type="log4net.ElasticSearch.ElasticSearchAppender, log4stash">
<Server>localhost</Server>
<Port>9200</Port>
<IndexName>log_test_%{+yyyy-MM-dd}</IndexName>
<IndexType>LogEvent</IndexType>
<Bulksize>2000</Bulksize>
<BulkIdleTimeout>10000</BulkIdleTimeout>
<IndexAsync>False</IndexAsync>
<ElasticFilters>
<Add>
<Key>My Data Origin</Key>
<Value>Worker Role</Value>
</Add>
</ElasticFilters>
</appender>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="C:\tmp\log4net_rollingfile.log" />
<appendToFile value="true" />
<maximumFileSize value="100KB" />
<maxSizeRollBackups value="2" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level %thread %logger - %message%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="ElasticSearchAppender" />
<appender-ref ref="RollingFile" />
</root>
</log4net>
<common>
<logging>
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net">
<arg key="configType" value="INLINE" />
</factoryAdapter>
</logging>
</common>
我往往會覺得這事是關閉的配置。但是,RollingFile appender確實創建了c:\ tmp \ log4net_rollingfile.log,所以我不知道爲什麼沒有實際寫入文件。另外,沒有數據發送到ElasticSearch。
說完轉身與「log4net.Internal.Debug」 log4net的診斷,我可以看到的是,附加目的地越來越加載:
log4net: Adding appender named [ElasticSearchAppender] to logger [root].
log4net: Adding appender named [RollingFile] to logger [root].