0
私は解決策にいくつかのプロジェクトを持っています。 SAMEプロジェクトでこれを行うためのログヘルパークラスを作成することができます。しかし、私はこれをすべてのプロジェクトに拡張できるかどうか疑問に思っていましたlog4netクラスライブラリはログを出力していません
自分のプロジェクトごとにプロジェクト名にlog4net loggerベースを取得できるようにクラスライブラリを作成しました。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace Log4NetLogHelper
{
public class LogHelper
{
public static log4net.ILog GetLogger([CallerFilePath]string filename = "")
{
return log4net.LogManager.GetLogger(filename);
}
}
}
ヘルパークラス内のファイル名を確認したところ正しいものでした。しかし、ログ出力はありません。 (何もファイルに記録されていないなど)。私はヘルパークラスを使用しないとlog4netがうまく動作するので、99.99%は私の設定ではないと確信しています。
using Log4NetLogHelper;
[assembly: log4net.Config.XmlConfigurator(Watch =true)]
namespace A
{
public class B
{
private static readonly log4net.ILog log = LogHelper.GetLogger();
static void Main(string[] args)
{
log.Error("test");
}
}
}