123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- <?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="false"
- internalLogLevel="Warn"
- internalLogFile="Logs/nlog-internal.log">
- <!--internalLogLevel="Off"-->
- <!-- optional, add some variables
- https://github.com/nlog/NLog/wiki/Configuration-file#variables
- -->
- <variable name="myvar" value="myvalue"/>
- <!--
- See https://github.com/nlog/nlog/wiki/Configuration-file
- for information on customizing logging rules and outputs.
- -->
- <extensions>
- <add assembly="NLog.Mongo"/>
- </extensions>
- <targets>
- <!-- write logs to file -->
- <target xsi:type="File" name="allfile" fileName="logs/${date:format=yyyy-MM-dd}/log.txt"
- layout="------------------------------------------${newline}${longdate} | ${uppercase:${level}} | ${logger} ${newline}${message} ${exception} ${newline} | url: ${aspnet-request-url} | action: ${aspnet-mvc-action}" />
- <target xsi:type="Null" name="blackhole" />
- <target xsi:type="Database" name="database" dbProvider="MySql.Data.MySqlClient.MySqlConnection,Mysql.Data">
- <connectionString>${var:connectionString}</connectionString>
- <commandText>
- INSERT INTO log(Platform,Category,LogLevel,Module,Action,Message,RecCode,RecTime)
- VALUES (@applicationId,@category,@levels, @logger, @action, @message,@reccode,@operatingTime);
- </commandText>
- <parameter name="@application" layout="EapWeb" />
- <parameter name="@applicationId" layout="1" />
- <parameter name="@levels" layout="${level}" />
- <parameter name="@operatingTime" layout="${date}" />
- <parameter name="@operatingaddress" layout="${aspnet-Request-IP}" />
- <parameter name="@logger" layout="${logger}" />
- <parameter name="@callSite" layout="${callsite}" />
- <parameter name="@requesturl" layout="${aspnet-request-url}" />
- <parameter name="@referrerurl" layout="${aspnet-request}" />
- <parameter name="@action" layout="${aspnet-mvc-controller}/${aspnet-mvc-action}" />
- <parameter name="@controller" layout="${aspnet-mvc-controller}" />
- <parameter name="@message" layout="${message}" />
- <parameter name="@exception" layout="${exception:tostring}" />
- <parameter name="@category" layout="${event-properties:item=category}" />
- <parameter name="@reccode" layout="${event-properties:item=reccode}" />
- </target>
- <!--发送到RabbitMQ-->
- <!--<extensions>
- <add assembly="Nlog.RabbitMQ.Target" />
- </extensions>
- <targets async="true">
- <target name="RabbitMQTarget"
- xsi:type="RabbitMQ"
- username="admin"
- password="admin"
- hostname="192.168.56.30"
- port="5672"
- vhost="/"
- appid="NLog.RabbitMQ.XQ"
- topic="XQ.Logging.${level}"
- exchange="eap-service-log"
- exchangeType="topic"
- useJSON="true"
- layout="${newline}${longdate} | ${uppercase:${level}} | ${logger} ${newline}${message} ${exception} ${newline} | url: ${aspnet-request-url} | action: ${aspnet-mvc-action}" />
- </targets>-->
- <!--发送到MongoDb-->
- <target xsi:type="Mongo"
- name="mongo" databaseName="EapLog"
- collectionName="Logs"
- connectionString="mongodb://127.0.0.1:27017/EapLog"
- IncludeDefaults="false"
- >
- <Field name="Application" layout="EapWeb" />
- <Field name="ApplicationId" layout="1" />
- <Field name="Levels" layout="${level}" />
- <Field name="OperatingTime" layout="${date}" />
- <Field name="OperatingAddress" layout="${aspnet-Request-IP}" />
- <Field name="Logger" layout="${logger}" />
- <Field name="CallSite" layout="${callsite}" />
- <Field name="Requesturl" layout="${aspnet-request-url}" />
- <Field name="Referrerurl" layout="${aspnet-request}" />
- <Field name="Action" layout="${aspnet-mvc-controller}/${aspnet-mvc-action}" />
- <Field name="Controller" layout="${aspnet-mvc-controller}" />
- <Field name="Message" layout="${message}" />
- <Field name="Exception" layout="${exception:tostring}" />
- <Field name="Category" layout="${event-properties:item=category}" />
- <Field name="Reccode" layout="${event-properties:item=reccode}" />
- </target>
- </targets>
- <rules>
- <!--minlevel 改为Trace 跟踪全部 Error 只捕获异常-->
- <logger name="*" minlevel="Error" maxlevel="Fatal" writeTo="allfile" />
- <!--Skip Microsoft logs and so log only own logs-->
- <logger name="Microsoft.*" minlevel="Trace" writeTo="blackhole" final="true" />
- <!--<logger name="*" minlevel="Fatal" writeTo="mongo" />-->
- </rules>
- </nlog>
|