C# 带有SQLite的Log4Net正在引发格式异常

C# 带有SQLite的Log4Net正在引发格式异常,c#,sqlite,logging,C#,Sqlite,Logging,我正在尝试使用Log4Net并将我的消息记录到本地SQLite数据库中。但是,当我运行应用程序时,log4net.Config.XmlConfigurator.Configure中会抛出一个格式异常 这是我的配置文件: <log4net> 请让我知道,如果你能看到我在哪里犯的错误,我已经被困在这一整天 多谢各位 射频 堆栈跟踪: mscorlib.dll!long.Parse(string s = "DateTime", System.Globalization.NumberSty

我正在尝试使用Log4Net并将我的消息记录到本地SQLite数据库中。但是,当我运行应用程序时,log4net.Config.XmlConfigurator.Configure中会抛出一个格式异常

这是我的配置文件:

<log4net>
请让我知道,如果你能看到我在哪里犯的错误,我已经被困在这一整天

多谢各位 射频

堆栈跟踪:

mscorlib.dll!long.Parse(string s = "DateTime", System.Globalization.NumberStyles style = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign, System.IFormatProvider provider = {System.Globalization.NumberFormatInfo}) + 0x1a bytes 
mscorlib.dll!System.Convert.ToInt64(string value = "DateTime", System.IFormatProvider provider = {}) + 0x13 bytes   
mscorlib.dll!string.System.IConvertible.ToInt64(System.IFormatProvider provider = {}) + 0x7 bytes   
mscorlib.dll!System.Convert.DefaultToType(System.IConvertible value = "DateTime", System.Type targetType = {Name = "Int64" FullName = "System.Int64"}, System.IFormatProvider provider = {}) + 0xe5 bytes   
mscorlib.dll!string.System.IConvertible.ToType(System.Type type = {Name = "Int64" FullName = "System.Int64"}, System.IFormatProvider provider = {}) 
mscorlib.dll!System.Convert.ChangeType(object value = "DateTime", System.Type conversionType = {Name = "Int64" FullName = "System.Int64"}, System.IFormatProvider provider = {}) + 0x51 bytes   
log4net.dll!log4net.Util.OptionConverter.ParseEnum(System.Type enumType = {Name = "DbType" FullName = "System.Data.DbType"}, string value = "DateTime", bool ignoreCase = true) + 0x4d bytes    
log4net.dll!log4net.Util.OptionConverter.ConvertStringTo(System.Type target = {Name = "DbType" FullName = "System.Data.DbType"}, string txt = "DateTime") + 0x5d bytes  
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ConvertStringTo(System.Type type = {Name = "DbType" FullName = "System.Data.DbType"}, string value = "DateTime") + 0x41 bytes 
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.SetParameter(System.Xml.XmlElement element = {System.Xml.XmlElement}, object target = {log4net.Appender.AdoNetAppenderParameter}) + 0x282 bytes   
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.CreateObjectFromXml(System.Xml.XmlElement element = {System.Xml.XmlElement}, System.Type defaultTargetType = {Name = "AdoNetAppenderParameter" FullName = "log4net.Appender.AdoNetAppenderParameter"}, System.Type typeConstraint = {Name = "AdoNetAppenderParameter" FullName = "log4net.Appender.AdoNetAppenderParameter"}) + 0x13a bytes   
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.SetParameter(System.Xml.XmlElement element = {System.Xml.XmlElement}, object target = {log4net.Appender.AdoNetAppender}) + 0x525 bytes    
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(System.Xml.XmlElement appenderElement = {System.Xml.XmlElement}) + 0x170 bytes  
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.FindAppenderByReference(System.Xml.XmlElement appenderRef = {System.Xml.XmlElement}) + 0xb1 bytes 
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseChildrenOfLoggerElement(System.Xml.XmlElement catElement = {System.Xml.XmlElement}, log4net.Repository.Hierarchy.Logger log = {log4net.Repository.Hierarchy.RootLogger}, bool isRoot = true) + 0x4a bytes    
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseRoot(System.Xml.XmlElement rootElement = {System.Xml.XmlElement}) + 0x1d bytes   
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.Configure(System.Xml.XmlElement element = {System.Xml.XmlElement}) + 0x1e1 bytes  
log4net.dll!log4net.Repository.Hierarchy.Hierarchy.XmlRepositoryConfigure(System.Xml.XmlElement element = {System.Xml.XmlElement}) + 0xe bytes  
log4net.dll!log4net.Repository.Hierarchy.Hierarchy.log4net.Repository.IXmlRepositoryConfigurator.Configure(System.Xml.XmlElement element = {System.Xml.XmlElement}) + 0x7 bytes 
log4net.dll!log4net.Config.XmlConfigurator.ConfigureFromXml(log4net.Repository.ILoggerRepository repository = {log4net.Repository.Hierarchy.Hierarchy}, System.Xml.XmlElement element = {System.Xml.XmlElement}) + 0x7a bytes   
log4net.dll!log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository repository = {log4net.Repository.Hierarchy.Hierarchy}, System.IO.Stream configStream = {System.IO.FileStream}) + 0xbb bytes   
log4net.dll!log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository repository = {log4net.Repository.Hierarchy.Hierarchy}, System.IO.FileInfo configFile = {\Program Files\AlliedPetroleum.Client\AlliedPetroleum.Client.exe.config}) + 0xa7 bytes    
log4net.dll!log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository repository = {log4net.Repository.Hierarchy.Hierarchy}) + 0x52 bytes   
log4net.dll!log4net.Config.XmlConfigurator.Configure+0xf字节AlliedPetroleum.Client.exe!AlliedPetroleum.Client.Program.Main行47+0x5字节C


引发FormatException的代码行是什么?嗨,Brenda,引发异常的位置是:log4net.Config.XmlConfigurator.Configure;我认为它在AdoNetAppender中更精确异常真的不包含异常消息吗?因为仅仅告诉我们异常类型是不够的。对不起,这就是我运行它时想到的。我似乎不明白。从你所看到的,AdoNetAppender有什么明显的问题吗?错误肯定发生在那里。我是不是错过了什么?
DROP TABLE IF EXISTS Log;
CREATE TABLE Log (
    LogId     INTEGER PRIMARY KEY,
    Date      DATETIME NOT NULL,
    Level     VARCHAR(50) NOT NULL,
    Logger    VARCHAR(255) NOT NULL,
    Message   TEXT DEFAULT NULL
    RowVersion INTEGER DEFAULT 1
);

CREATE TRIGGER Log_rowversion_trigger AFTER UPDATE ON Log 
BEGIN
UPDATE Log SET RowVersion = new.RowVersion + 1  WHERE Id = new.Id;
END;
mscorlib.dll!long.Parse(string s = "DateTime", System.Globalization.NumberStyles style = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign, System.IFormatProvider provider = {System.Globalization.NumberFormatInfo}) + 0x1a bytes 
mscorlib.dll!System.Convert.ToInt64(string value = "DateTime", System.IFormatProvider provider = {}) + 0x13 bytes   
mscorlib.dll!string.System.IConvertible.ToInt64(System.IFormatProvider provider = {}) + 0x7 bytes   
mscorlib.dll!System.Convert.DefaultToType(System.IConvertible value = "DateTime", System.Type targetType = {Name = "Int64" FullName = "System.Int64"}, System.IFormatProvider provider = {}) + 0xe5 bytes   
mscorlib.dll!string.System.IConvertible.ToType(System.Type type = {Name = "Int64" FullName = "System.Int64"}, System.IFormatProvider provider = {}) 
mscorlib.dll!System.Convert.ChangeType(object value = "DateTime", System.Type conversionType = {Name = "Int64" FullName = "System.Int64"}, System.IFormatProvider provider = {}) + 0x51 bytes   
log4net.dll!log4net.Util.OptionConverter.ParseEnum(System.Type enumType = {Name = "DbType" FullName = "System.Data.DbType"}, string value = "DateTime", bool ignoreCase = true) + 0x4d bytes    
log4net.dll!log4net.Util.OptionConverter.ConvertStringTo(System.Type target = {Name = "DbType" FullName = "System.Data.DbType"}, string txt = "DateTime") + 0x5d bytes  
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ConvertStringTo(System.Type type = {Name = "DbType" FullName = "System.Data.DbType"}, string value = "DateTime") + 0x41 bytes 
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.SetParameter(System.Xml.XmlElement element = {System.Xml.XmlElement}, object target = {log4net.Appender.AdoNetAppenderParameter}) + 0x282 bytes   
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.CreateObjectFromXml(System.Xml.XmlElement element = {System.Xml.XmlElement}, System.Type defaultTargetType = {Name = "AdoNetAppenderParameter" FullName = "log4net.Appender.AdoNetAppenderParameter"}, System.Type typeConstraint = {Name = "AdoNetAppenderParameter" FullName = "log4net.Appender.AdoNetAppenderParameter"}) + 0x13a bytes   
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.SetParameter(System.Xml.XmlElement element = {System.Xml.XmlElement}, object target = {log4net.Appender.AdoNetAppender}) + 0x525 bytes    
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(System.Xml.XmlElement appenderElement = {System.Xml.XmlElement}) + 0x170 bytes  
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.FindAppenderByReference(System.Xml.XmlElement appenderRef = {System.Xml.XmlElement}) + 0xb1 bytes 
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseChildrenOfLoggerElement(System.Xml.XmlElement catElement = {System.Xml.XmlElement}, log4net.Repository.Hierarchy.Logger log = {log4net.Repository.Hierarchy.RootLogger}, bool isRoot = true) + 0x4a bytes    
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseRoot(System.Xml.XmlElement rootElement = {System.Xml.XmlElement}) + 0x1d bytes   
log4net.dll!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.Configure(System.Xml.XmlElement element = {System.Xml.XmlElement}) + 0x1e1 bytes  
log4net.dll!log4net.Repository.Hierarchy.Hierarchy.XmlRepositoryConfigure(System.Xml.XmlElement element = {System.Xml.XmlElement}) + 0xe bytes  
log4net.dll!log4net.Repository.Hierarchy.Hierarchy.log4net.Repository.IXmlRepositoryConfigurator.Configure(System.Xml.XmlElement element = {System.Xml.XmlElement}) + 0x7 bytes 
log4net.dll!log4net.Config.XmlConfigurator.ConfigureFromXml(log4net.Repository.ILoggerRepository repository = {log4net.Repository.Hierarchy.Hierarchy}, System.Xml.XmlElement element = {System.Xml.XmlElement}) + 0x7a bytes   
log4net.dll!log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository repository = {log4net.Repository.Hierarchy.Hierarchy}, System.IO.Stream configStream = {System.IO.FileStream}) + 0xbb bytes   
log4net.dll!log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository repository = {log4net.Repository.Hierarchy.Hierarchy}, System.IO.FileInfo configFile = {\Program Files\AlliedPetroleum.Client\AlliedPetroleum.Client.exe.config}) + 0xa7 bytes    
log4net.dll!log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository repository = {log4net.Repository.Hierarchy.Hierarchy}) + 0x52 bytes