Vb.net 获得';';地点';属性是不允许的";将日志信息保存到文本文件时在App.Config中
我想在Application.Log文件中记录用户的活动,这样我就可以检查他/她在发生任何错误之前做了什么,或者只是检查用户是否做了任何错误的活动。首先,为了记录活动,我从的文档网站上阅读了文章“”,并根据需要更改了相应的值。这一切都很好,我在调试输出中成功地获得了信息,但是当我想将其保存到文本文件时,我遇到了一个问题。我遵循了公司文档网站上文章“”中给出的说明。 网站上用于将日志信息保存到文本文件的代码为:Vb.net 获得';';地点';属性是不允许的";将日志信息保存到文本文件时在App.Config中,vb.net,logging,visual-studio-2015,app-config,Vb.net,Logging,Visual Studio 2015,App Config,我想在Application.Log文件中记录用户的活动,这样我就可以检查他/她在发生任何错误之前做了什么,或者只是检查用户是否做了任何错误的活动。首先,为了记录活动,我从的文档网站上阅读了文章“”,并根据需要更改了相应的值。这一切都很好,我在调试输出中成功地获得了信息,但是当我想将其保存到文本文件时,我遇到了一个问题。我遵循了公司文档网站上文章“”中给出的说明。 网站上用于将日志信息保存到文本文件的代码为: <add name="FileLogListener" type=
<add name="FileLogListener"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener,
Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
initializeData="FileLogListenerWriter"
location="Custom"
customlocation="c:\temp\" />
和属性
但是,即使通过阅读这些网站上的信息,我也无法解决这个错误
请帮忙 我怀疑您的配置文件可能不太正确。我按照从到的链接将配置示例复制到我的应用程序中。然后我返回到另一个页面,并基于此修改了配置文件。然后我运行了我的应用程序,它的默认名称是“ConsoleApp1”,我确实看到文件“ConsoleApp1.log”被写入了指定的文件夹,并包含了相应的信息。下面是我的最终配置文件:
下面是我的VB代码:
Module Module1
Sub Main()
TracingTest(My.Computer.FileSystem.CombinePath(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "LogFile.txt"))
Console.ReadLine()
End Sub
Public Sub TracingTest(ByVal fileName As String)
My.Application.Log.WriteEntry($"Entering TracingTest with argument '{fileName}'.")
' Code to trace goes here.
My.Application.Log.WriteEntry($"Exiting TracingTest with argument '{fileName}'.")
End Sub
End Module
我怀疑您的配置文件可能不太正确。我按照从到的链接将配置示例复制到我的应用程序中。然后我返回到另一个页面,并基于此修改了配置文件。然后我运行了我的应用程序,它的默认名称是“ConsoleApp1”,我确实看到文件“ConsoleApp1.log”被写入了指定的文件夹,并包含了相应的信息。下面是我的最终配置文件:
下面是我的VB代码:
Module Module1
Sub Main()
TracingTest(My.Computer.FileSystem.CombinePath(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "LogFile.txt"))
Console.ReadLine()
End Sub
Public Sub TracingTest(ByVal fileName As String)
My.Application.Log.WriteEntry($"Entering TracingTest with argument '{fileName}'.")
' Code to trace goes here.
My.Application.Log.WriteEntry($"Exiting TracingTest with argument '{fileName}'.")
End Sub
End Module
我只是尝试了你所做的,我没有看到任何错误。我确实看到了关于这两个属性的警告,但是项目构建时没有问题。你有没有试过构建和运行这个项目,看看它是否真的有效?这很可能是因为该注释指的是这样一个事实,即您可以通过这种方式设置从TraceListener
派生的任何类型的属性,即使配置系统没有明确识别它们。是的,您是对的。在构建和运行项目方面没有问题,但它不起作用。我的意思是我没有得到任何输出(顺便说一句,你得到输出了吗?我只是尝试了你所做的,我没有看到任何错误。我确实看到了关于这两个属性的警告,但项目构建没有问题。你是否尝试过构建和运行项目,以查看它是否真的有效?很可能这是指你可以设置任何类型的派生属性的事实。)romTraceListener
那样,即使配置系统没有明确识别它们。是的,你是对的。构建和运行项目没有问题,但它不起作用。我的意思是我没有得到任何输出:(顺便说一句,你得到输出了吗?如果我有一个多个.config文件有关系吗?像其他的.config文件一样做这项工作,而不是app.config?因为我似乎对所有内容都进行了类似的编码,在阅读了你的答案后,我根据我的猜测更改了所有内容。你的答案中有一个问题使用了两种不同的路径,一种是“D:\johnm\Documents\”和另一个是用户文档文件夹。那么,实际日志文件是否像是在第一个位置“D:/“?VB代码中使用的路径是不相关的,因为在该方法中它只是作为String
参数处理。它从来没有实际作为文件路径处理。我只是使用文件路径,因为参数名暗示了它。另外,“D:\johnm\Documents”是本例中的用户文档文件夹。我将所有数据库移到了D:drive,并仅将C:drive用于操作系统和应用程序。我不知道是否有多个配置文件会很重要。如果有,只要这是主配置文件,我想你就可以走了。该死..在主“App.config”f中输入它我解决了这个问题,我正在获取日志,但我想知道为什么输入第二个配置文件不起作用。请你解释一下,这将有助于理解错误。非常感谢!!!你连续三次帮助我,我非常感谢你…[没有语言来表达这种感觉]请将它添加到主.config文件中,这样我就可以接受你的答案了。如果我有多个.config文件,这有关系吗?就像其他.config文件一样,来完成这项工作,而不是app.config?因为我似乎编写了与你所说类似的所有代码,在阅读你的答案后,我根据我的猜测更改了所有内容。还有一个问题注意:在您的回答中,您使用了两个不同的路径,一个是“D:\johnm\Documents\,另一个是用户文档文件夹。那么,实际的日志文件是否在第一个位置“D:/”上创建?VB代码中使用的路径是不相关的,因为在该方法中它只是作为String
参数处理。它从来没有实际作为文件路径处理。我只是使用文件路径,因为参数名暗示了它。另外,“D:\johnm\Documents\”是本例中的用户文档文件夹。我将所有数据库移到了D:drive,并仅将C:drive用于操作系统和应用程序。我不知道是否有多个配置文件会很重要。如果有,只要这是主配置文件,我想你就可以走了。该死..在主“App.config”f中输入它ile解决了这个问题,我正在获取日志,但我想知道为什么输入第二个配置文件不起作用。请您解释一下,这将有助于理解