2016-08-11 2 views
2

나는 다른 폴더에 각 세션을 넣어 싶습니다 ${basedir}/logs/session/2016-08-11.logNLog에서 파일 대상의 세션 변수를 사용하는 방법은 무엇입니까?

하지만 가능하다면 내가 모르는

<targets> 
    <target xsi:type="File" name="Example" fileName="${basedir}/logs/${aspnet-session:Variable=Login}/${longdate}.log" layout="${message}" /> 
</targets> 

처럼 NLog.config에 세션 변수를 사용하는 방법을 찾을 수 없습니다 ? 어떤 아이디어?

답변

1

ASP.NET 4를 들어 당신은 NLog.Web NuGet 패키지

당신이 NLog.Web.AspNetCore 필요 ASP.NET 코어

하고 nlog.config에서 다음과 같은 설정 (비 핵심 필요하지)

을 포함해야한다 :

를 당신의 startup.cs에서
<extensions> 
    <!--enable NLog.Web for ASP.NET Core--> 
    <add assembly="NLog.Web.AspNetCore"/> 
    </extensions> 

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. 
    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 
    { 
     //add NLog to ASP.NET Core 
     loggerFactory.AddNLog(); 

     //add NLog.Web 
     app.AddNLogWeb(); 
project.json에서

:

"dependencies": { 
    "NLog.Extensions.Logging": "1.0.0-rtm-alpha4", 
    "NLog.Web.AspNetCore": "4.2.3" 
}, 
+0

감사 줄리안, 그러나 당신이 언급 한 바와 같이 내가 내 프로젝트에 startup.cs 및 project.json이 없기 때문에 나는 동일한 구성을 할 수 없습니다. startup.cs를 추가하기 위해 Owin Nuget 패키지를 추가하려고 시도했지만 IApplicationBuilder, IHostingEnvironment 및 AddNLog()가 인식되지 않았습니다 :-(모든 아이디어? – Cooxkie

+0

어떤 플랫폼/OS/.NET 버전을 사용하고 있습니까? – Julian

+0

VS2015, Windows 10과 .NET 4.5.2 사용 – Cooxkie

관련 문제