您是否成功过使用NHibernate架构进行输入CodeCampServer日志记录?
我读了这,做了我能做的一切。也许这个体系结构中存在一些已知的问题。
我使用Infrastructure.NHibernate.DataAccess.Bases.Logger.EnsureInitialized();初始化log4net。在这里,代码:
public class DependencyRegistrar
{
private static bool _dependenciesRegistered;
private static void RegisterDependencies()
{
ObjectFactory.Initialize(x => x.Scan(y =>
{
y.AssemblyContainingType<DependencyRegistry>();
y.AssemblyContainingType<NaakRegistry>();
y.LookForRegistries();
y.AddAllTypesOf<IRequiresConfigurationOnStartup>();
}));
new InitiailizeDefaultFactories().Configure();
}
private static readonly object sync = new object();
internal void ConfigureOnStartup()
{
Infrastructure.NHibernate.DataAccess.Bases.Logger.EnsureInitialized();
RegisterDependencies();
var dependenciesToInitialized = ObjectFactory.GetAllInstances<IRequiresConfigurationOnStartup>();
foreach (var dependency in dependenciesToInitialized)
{
dependency.Configure();
}
}
public static T Resolve<T>()
{
return ObjectFactory.GetInstance<T>();
}
public static object Resolve(Type modelType)
{
return ObjectFactory.GetInstance(modelType);
}
public static bool Registered(Type type)
{
EnsureDependenciesRegistered();
return ObjectFactory.GetInstance(type) != null;
}
public static void EnsureDependenciesRegistered()
{
if (!_dependenciesRegistered)
{
lock (sync)
{
if (!_dependenciesRegistered)
{
RegisterDependencies();
_dependenciesRegistered = true;
}
}
}
}
} 我看到了日志文件,我无法在应用程序运行时删除它们,所以我知道它们是生成的。此外,当我记录测试时,日志是输入。例如,此代码执行输入日志。
Bases.Logger.Debug(this, "Debug test!")那么,CodeCampServer是否存在log4net的体系结构问题?
发布于 2010-02-08 05:35:54
意外地找到了解决方案,将引用forlog4net.dll替换为使用NHibernate回收箱的on,而不是自己的log4net。
连线,但我有日志..。:)
发布于 2010-02-02 20:17:38
在我看来,这篇文章是正确的。确实添加了必要的程序集级别属性吗?
[assembly: log4net.Config.XmlConfigurator(Watch = true)]如果这不起作用,也许你应该试试:
log4net.Config.XmlConfigurator.Configure();例如,在Application_Start of Global.asax中。如果这不能工作,请张贴您的示例代码。
https://stackoverflow.com/questions/2187134
复制相似问题