NLog在MVC中使用
NLog在MVC中使用
在site根目录新建NLog.config
<?xml version="1.0"?>
<configuration>
<nlog throwExceptions="false">
<variable name="logDirectory" value="${basedir}/logs" />
<targets async="true">
<!--<default-target-parameters
type="File"
archiveAboveSize="50485760"
maxArchiveFiles="50"
archiveNumbering="Rolling"
keepFileOpen="false"
layout="${longdate} ${callsite} ${message} ${exception:format=Message, Type, ShortType, ToString, Method, StackTrace}"/>-->
<target name="f1"
type="File"
fileName="${logDirectory}/${shortdate}.html">
<layout>
<![CDATA[
level:${level}<br />
longdate:${longdate}<br />
message:${message}<br />
]]>
</layout>
</target>
<target name="f2"
type="Mail"
header="----------"
footer="----------"
layout="${longdate} ${level} ${callsite} ${message} ${exception:format=Message, Type, ShortType, ToString, Method, StackTrace}"
html="false"
addNewLines="true"
subject="${message}"
to=""
from=""
body="${longdate} ${level} ${callsite} ${message} ${exception:format=Message, Type, ShortType, ToString, Method, StackTrace}"
smtpUserName="UserName"
enableSsl="false"
smtpPassword="Password"
smtpAuthentication="Basic"
smtpServer="smtp.hooyes.com"
smtpPort="25" />
</targets>
<rules>
<logger name="aotu" levels="Debug,Error" writeTo="f1" />
<!--<logger name="*" minlevel="Error" writeTo="f2" />-->
</rules>
</nlog>
</configuration>
<?xml version="1.0"?>
<configuration>
<nlog throwExceptions="false">
<variable name="logDirectory" value="${basedir}/logs" />
<targets async="true">
<!--<default-target-parameters
type="File"
archiveAboveSize="50485760"
maxArchiveFiles="50"
archiveNumbering="Rolling"
keepFileOpen="false"
layout="${longdate} ${callsite} ${message} ${exception:format=Message, Type, ShortType, ToString, Method, StackTrace}"/>-->
<target name="f1"
type="File"
header="------------------------------Start------------------------------"
footer="------------------------------End------------------------------"
fileName="${logDirectory}/${shortdate}.txt"
layout="${longdate} [${level}]]] ${message}"
/>
<target name="f2"
type="Mail"
header="----------"
footer="----------"
layout="${longdate} ${level} ${callsite} ${message} ${exception:format=Message, Type, ShortType, ToString, Method, StackTrace}"
html="false"
addNewLines="true"
subject="${message}"
to=""
from=""
body="${longdate} ${level} ${callsite} ${message} ${exception:format=Message, Type, ShortType, ToString, Method, StackTrace}"
smtpUserName="UserName"
enableSsl="false"
smtpPassword="Password"
smtpAuthentication="Basic"
smtpServer="smtp.hooyes.com"
smtpPort="25" />
</targets>
<rules>
<logger name="aotu" levels="Debug,Error" writeTo="f1" />
<!--<logger name="*" minlevel="Error" writeTo="f2" />-->
</rules>
</nlog>
</configuration>
添加LogHelper class
/***********************************************************************
* Copyright (C) 2013 Newegg Corporation
* All rights reserved.
*
* Author: Aotu Li (Aotu.E.Li@Newegg.com)
* Date: 12/7/2013 3:59:11 PM
* Usage:
*
* RevisionHistory
* Date Author Description
*
* ***********************************************************************/ using NLog; namespace Mvc_NLogDEMO
{
public class LogHelper
{
private static Logger logger;
private static string logRuleName = "aotu";
static LogHelper()
{
logger = LogManager.GetLogger(logRuleName);
logger.LoggerReconfigured += logger_LoggerReconfigured;
} static void logger_LoggerReconfigured(object sender, System.EventArgs e)
{
logger = LogManager.GetLogger(logRuleName);
} public static void WirtError(string message)
{
logger.Log(LogLevel.Error, message);
} public static void WirtDebug(string message)
{
logger.Log(LogLevel.Debug, message);
}
}
}
public class LogHelper
{
private static Logger logger;
private static string logRuleName = "aotu";
static LogHelper()
{
logger = LogManager.GetLogger(logRuleName);
logger.LoggerReconfigured += logger_LoggerReconfigured;
} static void logger_LoggerReconfigured(object sender, System.EventArgs e)
{
logger = LogManager.GetLogger(logRuleName);
} public static void WirtError(string message)
{
logger.Log(LogLevel.Error, message);
} public static void WirtDebug(string message)
{
logger.Log(LogLevel.Debug, message);
}
}
参考文档:https://github.com/nlog/nlog/wiki
NLog在MVC中使用的更多相关文章
- [.Net Core] 在 Mvc 中简单使用日志组件
在 Mvc 中简单使用日志组件 基于 .Net Core 2.0,本文只是蜻蜓点水,并非深入浅出. 目录 使用内置的日志组件 简单过渡到第三方组件 - NLog 使用内置的日志 下面使用控制器 Hom ...
- .NetCore MVC中的路由(2)在路由中使用约束
p { margin-bottom: 0.25cm; direction: ltr; color: #000000; line-height: 120%; orphans: 2; widows: 2 ...
- .NetCore MVC中的路由(1)路由配置基础
.NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...
- Asp.Net MVC中使用StreamReader读取“Post body”之应用场景。
场景:有三个市场(Global.China.USA),对前台传过来的数据有些验证需要细化到每个市场去完成. 所以就出现了基类(Global)和派生类(China.USA) 定义基类(Global)Pe ...
- 6.在MVC中使用泛型仓储模式和依赖注入实现增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...
- ASP.NET Core MVC 中的 [Controller] 和 [NonController]
前言 我们知道,在 MVC 应用程序中,有一部分约定的内容.其中关于 Controller 的约定是这样的. 每个 Controller 类的名字以 Controller 结尾,并且放置在 Contr ...
- ASP.NET MVC中利用AuthorizeAttribute实现访问身份是否合法以及Cookie过期问题的处理
话说来到上海已经快半年了,时光如白驹过隙,稍微不注意,时间就溜走了,倒是没有那么忙碌,闲暇之际来博客园还是比较多的,记得上次在逛博问的时候看到有同志在问MVC中Cookie过期后如何作相关处理,他在阐 ...
- 4.在MVC中使用仓储模式进行增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 系列目录: ...
- 5.在MVC中使用泛型仓储模式和工作单元来进行增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...
随机推荐
- Hive中Bucket的应用
网友南京-李先森给了他收集的一些资料,如下: Buckets 对指定列计算 hash,根据 hash 值切分数据,目的是为了并行,每一个 Bucket 对应一个文件.如将 user 列分散至 32 个 ...
- 算法打基础——HashⅡ: 全域哈希与完美哈希
这一节涉及数学超级多,各种数论知识,各种不明觉厉! 看了几遍,才勉强看懂一些,所以这 篇稍微简单的介绍着两种hash table, 免得瞎说说错了. 这一讲的主要知识点是:1. 全域哈希及构造 ...
- highlight高亮
玩转正则之highlight高亮 2013-10-07 05:16 by 靖鸣君, 584 阅读, 3 评论, 收藏, 编辑 程序员在编写代码的时候少不了和字符串以及“查询”打交道,两者的交集中有一个 ...
- 反向代理-- WEB服务的加速器[转]
昨天j.L问我http cache怎么设置,当时脑子有点糊涂,一时没想到其实他问的就是反向代理如何设置. 首发:PHP CUP xiaobao 什么是反向代理?反 向代理就是代理服务器(如ISA.Sq ...
- web前端学习笔记
web前端学习笔记(CSS盒子的定位) 相对定位 使用相对定位的盒子的位置常以标准流的排版方式为基础,然后使盒子相对于它在原本的标准位置偏移指定的距离.相对定位的盒子仍在标准流中,它后面的盒子仍以标准 ...
- MDX示例:求解众数(mode)
在统计学中,众数(Mode)是样本观测值在频数分布表中频数最多的那一组的组中值,主要应用于大面积普查研究之中,众数在一组数据中可能会有好几个.简单的说,众数就是一组数据中占比例最多的一个或几个数.MD ...
- 使用 Aspose.Cells 实现 excel导入
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- Sublime中开发Ruby
Ruby:Sublime中开发Ruby需要注意的Encoding事项 目录 背景Sublime相关默认的文件存储编码:UTF8默认的输出控制台编码:UTF8修改默认的输出控制台编码Ruby相关默认的代 ...
- AspxTreeList获取选中项的值
在csdn上了发了次帖子,没人回复,只有自己结贴了.http://bbs.csdn.net/topics/390706314?page=1#post-396723432 //通过选中的节点获取用户ID ...
- 学会Func
学会Func 前言 首先你要会最基本的委托的使用,如果不会,看起来可能会有难度.. 不过第一个例子将帮你复习一下委托delegate 接下来通过几个例子就会学会怎么灵活使用Func了 委托回顾(d ...