NLog 각서 설치부터 설정까지

ASP.net에서 웹 앱을 개발하고 있는 가운데, 서버측에서 발생하는 에러를 확인하는 수단이 없었기 때문에, 「NLog」를 사용하게 되어, 인스톨로부터 설정까지를 조사한 내용을 기억해.
보다 다양한 설정을 할 수 있는 것 같습니다만, 이번은 최저한의 설정으로 심플하게 사용하고 있습니다.

참고 사이트



htps : // 기주 b. 코 m / 응 g / 응 ぉ g / 우키 / 쓰리 아 l
htp // // ws. my ゔぃ. jp/아리치 c㎇s/2010/03/19/응ぉg/
htp // 고모코오 l. 네 t/고모쿠 g/? p=708
h tp // h 이렇게. 하테나 bぉg. 코m/엔트리/2016/03/13/194043
ht tp // tc tc rp ps. 그래. 네 t/아르치 cぇ/418697104. HTML

NLog란?



.NET 환경에서 로깅할 수 있는 오픈 소스 도구입니다.
log4net에 비해 도입이 간단한 것이 특징.

사용환경



VisualStudio 2012
.NET Framework 4.5
NLog.4.4.3

설치



VisualStudio의 NuGet으로 쉽게 설치했습니다.
1. 솔루션 탐색기의 "참조 설정"을 마우스 오른쪽 버튼으로 클릭
2. 아래 메뉴가 표시되므로 "NuGet 패키지 관리"를 클릭

3. NuGet 패키지의 관리 화면이 표시되므로 왼쪽의 "온라인"을 클릭 한 후 오른쪽의 "온라인 검색"에 "NLog"를 입력합니다.

4. 중간에 "NLog"가 표시되므로 설치 버튼을 클릭합니다.
5. 솔루션 탐색기의 "참조 설정"에 "NLog"가 있으면 설치가 완료됩니다

사용하기 전에 필요한 설정



1. WebConfig의 configSections에 section 태그 추가

web.config
<configuration>
  <configSections>
    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
  </configSections>

  • 계속해서 WebConfig에 nlog 태그 추가

  • web.config
      <nlog>
        <targets>
          <target name ="logfile" type="File" filename="./Log/test.log" layout="[${longdate} ${level}]  ${message}" />
        </targets>
        <rules>
          <logger name="*" minlevel="Debug" writeTo="logfile" />
        </rules>
      </nlog>
    

    taeget:출력처 정보의 설정
    layout : 로그 출력 레이아웃 설정
    rules : 어떤 출력 레벨에 어떤 타겟을 사용할지 설정


    레벨
    Example


    Fatal
    Highest level: important stuff down

    오류
    For example application crashes/exceptions.

    Warn
    Incorrect behavior but the application can continue

    정보
    Normal behavior like mail sent, user updated profile etc.

    Debug
    Executed queries, user authenticated, session expired

    Trace
    Begin method X, end method X etc


    사용법



    아래와 같이 기술합니다.

    sample.cs
    using NLog;
        public class FileUploader : IHttpHandler
        {
            private static Logger logger = LogManager.GetCurrentClassLogger();
    
            public void ProcessRequest(HttpContext context)
            {
                // net use 接続
                System.Diagnostics.Process open = new System.Diagnostics.Process();
                open.StartInfo.FileName = "cmd.exe";            // コマンド名
                open.StartInfo.Arguments = "/c";                // 引数①
                open.StartInfo.Arguments += cmd;               // 引数②
                open.StartInfo.CreateNoWindow = true;           // DOSプロンプトの黒い画面を非表示
                open.StartInfo.UseShellExecute = false;         // プロセスを新しいウィンドウで起動するか否か
                open.StartInfo.RedirectStandardOutput = true;   // 標準出力をリダイレクトで取得したい
                open.Start();
                open.WaitForExit();
    
                logger.Debug("net use 接続");
    

    출력 결과



    이런 느낌으로 출력되었습니다.

    좋은 웹페이지 즐겨찾기