J'ai un rôle de travail Azure que je souhaite mettre à jour la journalisation (le projet avait une journalisation existante, bien que je ne sois pas convaincu que cela ait jamais fonctionné). Il est configuré pour utiliser Common.Logging, mais avec Log4Net. J'ai mis en place 2 appenders dans Log4Net - un à ElasticSearch et un à un fichier tournant - dont aucun n'enregistre aucune sortie.Log4Net + Common.Logging + Azure = Fichier journal vide
Dans le app.config du rôle des travailleurs, j'ai configuré log4net, suivi par 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>
je tendance à penser que quelque chose est hors de la configuration. Toutefois, l'application RollingFile crée en effet c: \ tmp \ log4net_rollingfile.log, ce qui m'empêche d'expliquer pourquoi rien n'est réellement écrit dans le fichier. En outre, aucune donnée n'est envoyée à ElasticSearch.
Après avoir activé le diagnostic de Log4net avec « log4net.Internal.Debug », je peux voir que les appenders sont chargés se:
log4net: Adding appender named [ElasticSearchAppender] to logger [root].
log4net: Adding appender named [RollingFile] to logger [root].