首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CodeCampServer不输入来自NHibernate的任何日志记录?

CodeCampServer不输入来自NHibernate的任何日志记录?
EN

Stack Overflow用户
提问于 2010-02-02 19:48:57
回答 2查看 129关注 0票数 0

您是否成功过使用NHibernate架构进行输入CodeCampServer日志记录?

我读了,做了我能做的一切。也许这个体系结构中存在一些已知的问题。

我使用Infrastructure.NHibernate.DataAccess.Bases.Logger.EnsureInitialized();初始化log4net。在这里,代码:

代码语言:javascript
复制
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;

                }
            }
        }
    }
} 

我看到了日志文件,我无法在应用程序运行时删除它们,所以我知道它们是生成的。此外,当我记录测试时,日志输入。例如,此代码执行输入日志。

代码语言:javascript
复制
    Bases.Logger.Debug(this, "Debug test!")

那么,CodeCampServer是否存在log4net的体系结构问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-08 05:35:54

意外地找到了解决方案,将引用forlog4net.dll替换为使用NHibernate回收箱的on,而不是自己的log4net。

连线,但我有日志..。:)

票数 -1
EN

Stack Overflow用户

发布于 2010-02-02 20:17:38

在我看来,这篇文章是正确的。确实添加了必要的程序集级别属性吗?

代码语言:javascript
复制
[assembly: log4net.Config.XmlConfigurator(Watch = true)]

如果这不起作用,也许你应该试试:

代码语言:javascript
复制
log4net.Config.XmlConfigurator.Configure();

例如,在Application_Start of Global.asax中。如果这不能工作,请张贴您的示例代码。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2187134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档