2010-02-02 4 views
0

CodeCampServer 아키텍처를 사용하여 NHibernate 로깅을 성공적으로 수행 한 적이 있습니까?CodeCampServer가 NHibernate로부터 로깅을 입력하지 않습니까?

나는 this을 읽고 가능한 모든 것을했습니다. 어쩌면이 아키텍처에서 문제가 있음을 알 수 있습니다.

나는 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의 아키텍처 문제가 있습니까?

답변

-1

log4net.dll에 대한 참조를 자신의 log4net 대신 NHibernate bin과 함께 온 것으로 우연히 찾아 냈습니다.

유선이지만 로그가 있습니다. :)

-1

게시물이 내게 ​​맞습니다. 필요한 어셈블리 수준 특성을 추가 했습니까? 이 아마 작동하지 않을 경우

[assembly: log4net.Config.XmlConfigurator(Watch = true)] 

당신은 시도해야한다 : 예를 들어

log4net.Config.XmlConfigurator.Configure(); 

을 Global.asax에 당신의 위해 Application_Start에. 이것이 작동하지 않으면 예제 코드를 게시하십시오.

+0

나는 위와 같은 코드를 찾습니다. –

+0

사용중인 Logwrapper는 App.config 내의 구성을 무시합니다. 그러면이 로거에서 사용하는 Log4Net.config 파일을 게시 할 수 있습니까? http://code.google.com/p/codecampserver/source/browse/trunk/src/Infrastructure/DataAccess/Bases/Logger.cs?r=1033 – zoidbeck

+0

사용되는 기본 Log4net.config는 NHibernate 로깅을 FATAL로 설정합니다 . 다음을 참조하십시오 : http://code.google.com/p/codecampserver/source/browse/trunk/src/Log4Net.config?r=1033 – zoidbeck

관련 문제