2017-10-24 7 views
0

ログファイルへの起動情報ログの書き込みを明示的に呼び出すことができるかどうかを知りたい。私がInfoメソッドを使用し、レベルがWARNに設定されている場合、ログはポイントI要求時に書き込まれません。答えをありがとうございました。log4netインフォメーションログをアプリケーション起動時にレベル以上のレベルのログに書き込む方法

<logger name="InfoLogger" additivity="false"> 
     <level value="INFO"/> 
     <appender-ref ref="RollingFileAppender"/> 
    </logger> 
    <root> 
     <level value="WARN"/> 
     <appender-ref ref="RollingFileAppender"/> 
    </root> 

とコードのこの作品:

@ stuartdの答えにEDIT おかげでようやく私は、次の設定により、それを解決し

private static readonly log4net.ILog rootLogger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 
    private static readonly log4net.ILog infoLogger = log4net.LogManager.GetLogger("InfoLogger"); 
    private static readonly log4net.ILog log = infoLogger != null && (rootLogger == null || !rootLogger.IsInfoEnabled) ? infoLogger : rootLogger; 

    static App() 
    { 
     log.Info("[Application start]"); 
    } 

答えて

0

あなたは多くのオプションがありますが、おそらく最も簡単なのは、ヘッダーテキストだけのINFOレベルに別のロガーを設定することです。

var infoLogger = LogManager.GetLogger("InfoLogger"); 
var yourLogger = LogManager.GetLogger("Your_Logger_Name"); 

// app start 
infoLogger.Info("App started"); 

// in the app 
yourLogger.Warn("Bad things happened"); 

これを設定する方法を熟知している場合は、既存の設定を質問に編集してください。

関連する問題