IT/C#

C# - log4net 적용하기

!? 2022. 2. 8.

1. visual studio의 nuget에서 log4net검색하여 설치

 

 

 

 

2. 설치 후 소스에 log4net관련 부분 추가

  1) program.cs 파일에 log4net.Config.XmlConfigurator.Configure(); 추가

namespace formTest
{
    static class Program
    {
        /// <summary>
        /// 해당 애플리케이션의 주 진입점입니다.
        /// </summary>
        [STAThread]
        static void Main()
        {
            log4net.Config.XmlConfigurator.Configure();

  2) App.config 파일에 log4net 관련사항 추가

<?xml version="1.0" encoding="utf-8" ?>
<configuration>	
	<configSections>
		<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
	</configSections>
	<log4net>
		<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
			<file value="c:\\Log\\testlog.txt"/>
			<appendToFile value="true" />
			<rollingStyle value="Size"/>
			<maximumFileSize value="100KB"/>
			<maxSizeRollBackups value="100" />
			<staticLogFileName value="true" />
			<countDirection value="1"/>
			<layout type="log4net.Layout.PatternLayout">
				<param name="ConversionPattern" value="%date [%thread] %level %logger - %message%newline" />
			</layout>
		</appender>
		<logger name="testLogger">
			<level value="ALL" />
			<appender-ref ref="RollingFileAppender" />
		</logger>
	</log4net>
</configuration>

 

 

  3) log를 저장할 위치에 쓰임새에 따라 로그정보 추가

   - Logger.Debug("log Debug");
   - Logger.Info("log Info");
   - Logger.Error("log Error");
   - Logger.Warn("log Warn");
   - Logger.Fatal("log Fatal");

using log4net;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace formTest
{
    public partial class Form1 : Form
    {
        private static ILog Logger = LogManager.GetLogger("testLogger"); 

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Logger.Debug("log Debug");
            Logger.Info("log Info");
            Logger.Error("log Error");
            Logger.Warn("log Warn");
            Logger.Fatal("log Fatal");
        }
    }
}

  4) App.config에 정의한 파일 저장위치에 저장이 되었는지 확인

   - <file value="c:\\Log\\testlog.txt"/>

댓글