.Net Core 日誌組件log4net的Log4NetHelper類

之前介紹了log4net的在.net core下的使用方法,但是每次調用起來都比較麻煩

        private ITestService _TestService;
        private IUserInfo _UserInfo;
        private readonly ILogger<testController> _logger;
        public testController(ITestService TestService,
            IUserInfo UserInfo,
            ILogger<testController> logger) {
            this._TestService = TestService;
            _UserInfo = UserInfo;
            _logger = logger;
        }

那其實我們可以自定義Log4NetHelper來簡單點使用

using log4net;
using MyUtility.Config;
using System;
using System.Collections.Generic;
using System.Text;

namespace MyUtility.Log {
    public class Log4NetHelper {
        public static void WriteInfoLog(Type type, object info) {
            var repositoryName = ConfigHelper.GetValue("Log4NetRepository");
            ILog log = LogManager.GetLogger(repositoryName,type);
            log.Info(info);
        }

        public static void WriteErrorLog(Type type,Exception exception) {
            var repositoryName = ConfigHelper.GetValue("Log4NetRepository");
            ILog log = LogManager.GetLogger(repositoryName,type);
            log.Error("Error", exception);
        }
    }
}

其他配置跟之前的一樣,在需要調用記錄日誌的地方只要

            Log4NetHelper.WriteInfoLog(typeof(testController), "testlog");

就行了,只要相對來說就簡單點了,少了幾行代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章