nlog
mysql.data
nlog.web
nlog.database
builder.Logging.AddNLog("Config/NLog.config");
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
autoReload="true"
throwExceptions="true"
internalLogLevel="Off" internalLogFile="NLog\all_log.log">
<targets>
<target xsi:type="File"
name="all_log"
fileName="NLog\${shortdate}\${event-properties:filename}${shortdate}.log"
layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}"
archiveFileName="NLog\${shortdate}\${event-properties:filename}${shortdate}.{####}.log"
archiveNumbering="Rolling"
archiveAboveSize="10485760"
concurrentwrites="true"
maxArchiveFiles="100"
/>
<target name="database" xsi:type="Database"
dbProvider="MySql.Data.MySqlClient.MySqlConnection, MySql.Data" >
<connectionString>
server=localhost;database=test;port=3306;uid=root;pwd=0000;
</connectionString>
<commandText>
INSERT INTO logs(app_name,log_date, thread, `level`, logger, message, `exception`)VALUES(@app_name,@log_date, @thread,@log_level, @logger, @message, @exception);
</commandText>
<parameter name="@app_name" layout="AspNetCoreNlog" />
<parameter name="@log_date" layout="${date}" />
<parameter name="@thread" layout="${threadid}" />
<parameter name="@log_level" layout="${level}" />
<parameter name="@logger" layout="${logger}" />
<parameter name="@message" layout="${message}" />
<parameter name="@exception" layout="${exception:tostring}" />
</target>
</targets>
<rules>
<logger name="Microsoft.*" minlevel="Trace" final="true" />
<logger name="*" minlevel="Trace" writeTo="all_log" />
<logger name="*" minlevel="Trace" writeTo="database" />
</rules>
</nlog>
public class LogHelper
{
private static Logger logger = LogManager.GetCurrentClassLogger();
public static void Info(string msg, string fileName = "INFO")
{
logger.WithProperty("filename", fileName).Info(msg);
}
public static void Debug(string msg, string fileName = "DEBUG")
{
logger.WithProperty("filename", fileName).Debug(msg);
}
public static void Error(string msg, string fileName = "ERROR")
{
logger.WithProperty("filename", fileName).Error(msg);
}
public static void Warn(string msg, string fileName = "WARN")
{
logger.WithProperty("filename", fileName).Warn(msg);
}
}
浙公网安备 33010602011771号