我使用的是NLog.web和Nlog.config。能够将错误记录到文件中。当尝试记录到数据库时。无法找到正在获取的目标数据库。
如果有人使用带有asp.net核心rc1的Nlog并将错误记录到数据库,请提供帮助
我的配置如下所示
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" internalLogFile="Nlog.log">
<targets>
<target name="file" xsi:type="File" layout="${longdate}|${level}|${callsite}|${logger}|${threadid}|${windows-identity:domain=false}--${message} ${exception:format=message,stacktrace:separator=*" fileName="c:\psnet\myapplication.log"/>
<target name="database" type="Database">
<connectionString>
Data Source=databaseservername;Initial Catalog=databasename;User Id=username;Password=password;
</connectionString>
<commandText>
insert into system_logging(log_date,log_level,log_logger,log_message,log_machine_name, log_user_name, log_call_site, log_thread, log_exception, log_stacktrace) values(@time_stamp, @level, @logger, @message,@machinename, @user_name, @call_site, @threadid, @log_exception, @stacktrace);
</commandText>
<parameter name="@time_stamp" layout="${longdate}"/>
<parameter name="@level" layout="${level}"/>
<parameter name="@logger" layout="${logger}"/>
<parameter name="@message" layout="${message}"/>
<parameter name="@machinename" layout="${machinename}"/>
<parameter name="@user_name" layout="${windows-identity:domain=true}"/>
<parameter name="@call_site" layout="${callsite:filename=true}"/>
<parameter name="@threadid" layout="${threadid}"/>
<parameter name="@log_exception" layout="${exception}"/>
<parameter name="@stacktrace" layout="${stacktrace}"/>
</target>
</targets>
<rules>
<logger name="*" minlevel="Info" writeTo="file"/>
<logger name="*" minlevel="Info" appendTo="database"/>
</rules>
</nlog>我可以写入文件..在Nog内部文件中,显示错误目标数据库未知,即使在尝试写入事件日志时也显示相同错误目标EventLog未知
请帮我解决这个问题
发布于 2016-07-27 01:59:20
作为NLog.Extensions.Logging包,您需要
1.在project.json中添加依赖
"dependencies": {
"NLog.Extensions.Logging": "1.0.0-*"
}2.在项目文件的根目录下创建nlog.config,请参见NLog.config example
3.在startup.cs中添加Configure
using NLog.Extensions.Logging;
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
//add NLog to ASP.NET Core
loggerFactory.AddNLog();
//needed for non-NETSTANDARD platforms: configure nlog.config in your project root
env.ConfigureNLog("nlog.config");
...4.在project.json中包含要发布的NLog.config:
"publishOptions": {
"include": [
"wwwroot",
"Views",
"appsettings.json",
"web.config",
"nlog.config"
]
},5.不工作?
启用并检查internal log!
https://stackoverflow.com/questions/38240855
复制相似问题