我正在提供一个使用 C# 的 SDK。为了启用现场调试,我想包括使用 log4net 的日志记录。由于程序集将是一个 dll,如何在不使用 App.config 的情况下启用配置?
谢谢,
最佳答案
考虑使用 XmlConfigurator 为 log4net 配置一个独立的配置文件位置。您可以使用此技术来提供独立的基于文件的配置,而无需接触 app\web.config 或对其进行硬编码。示例:
http://haacked.com/archive/2005/03/07/ConfiguringLog4NetForWebApplications.aspx
更新
尝试使用以下 Bootstrap 来配置独立配置文件。它将构建一个完整的路径。如果仍然无法找到路径,请尝试注销该路径。
public static class LogFactory
{
public const string ConfigFileName = "log4net.config";
public static void Configure()
{
Type type = typeof(LogFactory);
FileInfo assemblyDirectory = AssemblyInfo.GetCodeBaseDirectory(type);
string path = Path.Combine(assemblyDirectory.FullName, ConfigFileName);
FileInfo configFile = new FileInfo(path);
XmlConfigurator.ConfigureAndWatch(configFile);
log4net.ILog log = LogManager.GetLogger(type);
log.ToString();
}
}
调用:
LogFactory.Configure();
关于c# - 在 SDK 中使用 log4net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4542184/