0

レイアウトです。私はより多くの拡張プロパティを追加する必要がある場合は、上記のアプローチ次拡張プロパティは、設定ファイルに記載された

private static void WriteLog(LogEvent logEvent) 
{ 
    var log = LogManager.GetLogger(logEvent.Logger); 
    LogEventInfo logMsg = new LogEventInfo(); 
    logMsg.Message = logEvent.Message; 
    logMsg.Level = logEvent.LogLevel; 
    logMsg.Properties.Add("Title", logEvent.Title); 
    if(!string.IsNullOrEmpty(logEvent.StackTrace)) 
    { 
     logMsg.Properties.Add("StackTrace", "Stack Trace: " + logEvent.StackTrace + Environment.NewLine); 
    } 
    if(!string.IsNullOrEmpty(logEvent.InnerException)) 
    { 
     logMsg.Properties.Add("InnerException", "Inner Exception: " + logEvent.InnerException + Environment.NewLine); 
    } 
    log.Log(logMsg); 
} 

ことで、

Timestamp: ${date}${newline}Title: ${event-properties:item=Title}${newline}Message: ${message}${newline}${event-properties:item=StackTrace}${event-properties:item=InnerException}Machine: ${machinename}${newline}${newline}${LayoutFooter} 

そしてコードを:

私はにレイアウトパターンを修正することにより、上記の要件を達成しています、私は設定ファイルとコードを変更する必要があります。

単一の設定ファイルの場合、この方法は問題ありませんが、複数の設定ファイルの場合は時間がかかります。

コードを変更するだけで拡張プロパティを追加でき、設定ファイルを変更することはできません。

Microsoftエンタープライズログライブラリを使用していたときにExtendedPropertiesプロパティのLogEntryクラスがMicrosoft.Practices.EnterpriseLibrary.Loggingであったため、この機能を実現できました。

答えて

1

コードを変更するだけで拡張プロパティを追加でき、設定ファイルを変更することはできません。

${all-event-properties} rendererがあり、レンダリング方法は複数のパラメータがあります。

関連する問題