如何解决nlog和SQL Server Compact 4.0的示例配置
| 如果有人可以向我发布一个示例nlog.config以在SQL Server Compact 4.0中使用nlog,我将不胜感激。 我可以输出到控制台并确定文件。我尝试了各种dbProviders和connectionStrings,但似乎没有任何效果。 提前致谢。 艾伦·T解决方法
我想到了。我的测试应用程序是一个用C#编写的控制台应用程序。以下是我使用的各种文件的内容。
Program.cs
using NLog;
namespace ConsoleApplication2
{
class Program
{
private static readonly Logger _logger = LogManager.GetCurrentClassLogger( );
static void Main(string[] args)
{
_logger.Debug( \"A message\" );
}
}
}
App.config
<?xml version=\"1.0\" encoding=\"utf-8\" ?>
<configuration>
<system.data>
<DbProviderFactories>
<remove invariant=\"System.Data.SqlServerCe.4.0\" />
<add name=\"Microsoft SQL Server Compact Data Provider 4.0\"
invariant=\"System.Data.SqlServerCe.4.0\"
description=\".NET Framework Data Provider for Microsoft SQL Server Compact\"
type=\"System.Data.SqlServerCe.SqlCeProviderFactory,System.Data.SqlServerCe,Version=4.0.0.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91\" />
</DbProviderFactories>
</system.data>
</configuration>
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\" >
<targets>
<!-- write log message to database -->
<target xsi:type=\"Database\" name=\"database\">
<!-- SQL command to be executed for each entry -->
<commandText>INSERT INTO [LogEntries] (TimeStamp,Message,Level,Logger) VALUES(GETDATE(),@msg,@level,@logger)</commandText>
<!-- parameters for the command -->
<parameter name=\"@msg\" layout=\"${message}\" />
<parameter name=\"@level\" layout=\"${level}\" />
<parameter name=\"@logger\" layout=\"${logger}\" />
<!-- connection string -->
<dbProvider>System.Data.SqlServerCe.4.0</dbProvider>
<connectionString>Data Source=${basedir}\\logger.sdf</connectionString>
</target>
</targets>
<rules>
<logger name=\"*\" minlevel=\"Debug\" writeTo=\"database\" />
</rules>
</nlog>
数据库创建命令:
CREATE TABLE LogEntries(
id int primary key not null identity(1,1),TimeStamp datetime,Message nvarchar(128),level nvarchar(10),logger nvarchar(128))
希望这对尝试使用nLog和SQL Server CE 4.0的其他用户有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。