分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

log4net 写入日志到不同的位置

发布时间:2023-09-06 02:06责任编辑:沈小雨关键词:暂无标签

某些业务需要根据不同的功能将日志记录到不同的位置,以便于区分。

<?xml version="1.0" encoding="utf-8" ?><log4net> ?<appender name="Console" type="log4net.Appender.ConsoleAppender"> ???<layout type="log4net.Layout.PatternLayout"> ?????<!-- Pattern to output the caller‘s file name and line number --> ?????<conversionPattern value="%5level [%thread] (%file:%line) - %date - %message%newline" /> ???</layout> ?</appender> ?<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> ???<file type="log4net.Util.PatternString" value="Logs\\Common\\%date{yyyy-MM-dd}.log" /> ???<appendToFile value="true" /> ???<rollingStyle value="Composite" /> ???<datePattern value="yyyyMMdd" /> ???<maxSizeRollBackups value="10" /> ???<maximumFileSize value="1KB" /> ???<layout type="log4net.Layout.PatternLayout"> ?????<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> ???</layout> ?</appender> ?<appender name="EventLoggerAppender" type="log4net.Appender.RollingFileAppender"> ???<file type="log4net.Util.PatternString" value="Logs\\Events\\%date{yyyy-MM-dd}.log" /> ???<appendToFile value="true" /> ???<rollingStyle value="Composite" /> ???<datePattern value="yyyyMMdd" /> ???<maxSizeRollBackups value="10" /> ???<maximumFileSize value="1KB" /> ???<layout type="log4net.Layout.PatternLayout"> ?????<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> ???</layout> ?</appender> ?<logger name="FileLogger"> ???<level value="ALL" /> ???<appender-ref ref="RollingLogFileAppender" /> ?</logger> ?<logger name="EventLogger"> ???<level value="ALL" /> ???<appender-ref ref="EventLoggerAppender" /> ?</logger> ?<!-- <root> --> ?<!-- ??<level value="DEBUG" /> --> ?<!-- ??<appender-ref ref="RollingLogFileAppender" /> --> ?<!-- ??<appender-ref ref="Console" /> --> ?<!-- </root> --></log4net>

日志工具类(这里只是简单的封装):

public static class LogHelper{ ???private static readonly ILog logger = LogManager.GetLogger("FileLogger"); ???private static readonly ILog eventLogger = LogManager.GetLogger("EventLogger"); ???static LogHelper() ???{ ???????log4net.Config.XmlConfigurator.Configure(new FileInfo(HttpContext.Current.Server.MapPath("~/log4net.config"))); ???} ???public static void Error(string errMessage) ???{ ???????logger.Error(errMessage); ???} ???public static void LogEvent(string errMessage) ???{ ???????eventLogger.Error(errMessage); ???}}
public class HomeController : Controller{ ???public ActionResult Index() ???{ ???????LogHelper.Error("出错啦"); ???????LogHelper.LogEvent("fafdsafdsaff"); ???????ViewBag.Title = "Home Page"; ???????return View(); ???}}

浏览页面后,可以看到日志目录如下:

参考资料:https://stackoverflow.com/questions/11930381/log4net-multiple-appenders-writing-to-event-viewer

log4net 写入日志到不同的位置

原文地址:https://www.cnblogs.com/godbell/p/9368881.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved