静的コンストラクタにパラメータを渡すことはできません。静的コンストラクタにパラメータを渡して行番号を減らす方法
:しかし、私はそれゆえ、私は私がここには私のロガークラス(それはlog4netのを使用していますが、そのない場合)である。このクラスの各機能useageのための行を複製する必要がある変数を初期化パラメータで、この静的クラスを使用しています
public static class Logger
{
private static ILog log {get; set;}
static Logger()
{
log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
}
public static void Error(object msg, string userip)
{
log4net.LogicalThreadContext.Properties["ClientIp"] = userip;
if (log.IsErrorEnabled)
{
log.Error(msg);
}
}
public static void Error(object msg, string userip, Exception ex)
{
log4net.LogicalThreadContext.Properties["ClientIp"] = userip;
if (log.IsErrorEnabled)
{
log.Error(msg, ex);
私はすべての種類のログメソッドのカスタム "ClientIp"フィールドを追加する必要があると思います。しかし、私は繰り返したくない。
log4net.LogicalThreadContext.Properties ["ClientIp"] = userip;
static Logger() { log4net.LogicalThreadContext.Properties["ClientIp"] = userip; log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); }
が、私は..静的コンストラクタに何かアドバイスをパラメータを渡すカント:私は私はこのようなコンストラクタを編集することができたい 各メソッドの
ライン?
静的なプロパティを作成し、始めに 'public static string UserIP {get; set;}'のように設定してください –
useripパラメータはどこから来ますか?それが呼び出されるたびに変化しませんか? – Chris
@CallumLiningtonこれは私が今しようとしているのですが、httpcontext.currentの問題が少しあります。 – TyForHelpDude