NLog를 사용하여 ${basedir}는 어디에 있습니까?
제가 그걸 완전히 놓치고 있지 않는 한, 저는 NLog 문서가 사용하는 것처럼 보입니다.${basedir}
그 예에서, 그것의 위치가 무엇인지 설명하지 않고.
모든 가능한 옵션과 의미 있는 설명이 나열된 정보는 어디에서 찾을 수 있습니까?
다음 구성이 정의되어 있습니다.
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" throwExceptions="true">
<targets>
<target name="file" xsi:type="File"
layout="${longdate} ${logger} ${message}"
fileName="${basedir}/logs/${shortdate}.txt"
keepFileOpen="false"
encoding="iso-8859-2" />
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="file" />
</rules>
</nlog>
제가 볼 수 있는 한 작동하지만, 어디에 기록되는지 전혀 모르겠습니다.
${basedir}
응용 프로그램이 실행되는 디렉터리입니다.AppDomain.기본 디렉터리
이미 제공된 답변과 의견을 바탕으로 에 대한 답변을 요약할 수 있습니다.NET 응용 프로그램:
AppDomain.CurrentDomain.BaseDirectory
콘솔 또는 Windows Forms 응용 프로그램의 경우 이 디렉터리는bin/debug
Visual Studio에 있는 동안.응용 프로그램이 배포된 경우 경로는 실행 파일 경로일 가능성이 높습니다.
웹 응용 프로그램(ASP)의 경우.NET) 웹 응용 프로그램 루트 디렉터리가 됩니다.
파일이 표시되지 않는 것은 NLog 구성 오류 및 대상 파일을 쓸 수 없는 등의 몇 가지 원인으로 인해 트리거될 수 있습니다.이러한 오류를 표시하려면 NLog.config(또는 web.config 또는 app.config에 포함된 Nlog 구성)에서 이러한 오류를 출력할 내부 로그 파일을 지정해야 합니다.
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
internalLogFile="C:\NLogError\NLog.log">
<!-- targets and rules come here -->
</nlog>
또 다른 실패 가능성은 NLog.config를 사용하는 경우 NLog가 구성 파일을 찾을 수 없다는 것입니다.파일을 빌드에서 항상 복사로 설정하면 실행 시 NLog가 파일을 찾을 수 있도록 파일이 bin 디렉토리에 저장됩니다.
NLog 구성 정보를 App.config에 복사하면 이 문제가 발생하지 않습니다.
그것은 또한 플랫폼에 따라 다릅니다.정기적으로.Net 프로젝트 정말 bin 또는 bin/debug 등(빌드 설정에 따라 다름)
coreclr / aspnet5의 경우 dnx 런타임의 bin 폴더입니다.그건 아직 진행 중인 작업입니다.
언급URL : https://stackoverflow.com/questions/35224317/where-is-basedir-located-using-nlog
'programing' 카테고리의 다른 글
리치 텍스트 상자에서 창을 복사, 잘라내기, 잘라내기 사용 (0) | 2023.05.11 |
---|---|
iOS를 사용하여 GUID/UUID를 생성하는 방법 (0) | 2023.05.11 |
열거형에 정의된 총 항목 수 (0) | 2023.05.11 |
log4Net에 추적 수준이 없는 이유는 무엇입니까? (0) | 2023.05.11 |
npm install - gless가 작동하지 않음: EACCES: 권한이 거부됨 (0) | 2023.05.11 |