Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 获得';';地点';属性是不允许的";将日志信息保存到文本文件时在App.Config中_Vb.net_Logging_Visual Studio 2015_App Config - Fatal编程技术网

Vb.net 获得';';地点';属性是不允许的";将日志信息保存到文本文件时在App.Config中

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=

我想在Application.Log文件中记录用户的活动,这样我就可以检查他/她在发生任何错误之前做了什么,或者只是检查用户是否做了任何错误的活动。首先,为了记录活动,我从的文档网站上阅读了文章“”,并根据需要更改了相应的值。这一切都很好,我在调试输出中成功地获得了信息,但是当我想将其保存到文本文件时,我遇到了一个问题。我遵循了公司文档网站上文章“”中给出的说明。 网站上用于将日志信息保存到文本文件的代码为:

<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
派生的任何类型的属性,即使配置系统没有明确识别它们。是的,您是对的。在构建和运行项目方面没有问题,但它不起作用。我的意思是我没有得到任何输出(顺便说一句,你得到输出了吗?我只是尝试了你所做的,我没有看到任何错误。我确实看到了关于这两个属性的警告,但项目构建没有问题。你是否尝试过构建和运行项目,以查看它是否真的有效?很可能这是指你可以设置任何类型的派生属性的事实。)rom
TraceListener
那样,即使配置系统没有明确识别它们。是的,你是对的。构建和运行项目没有问题,但它不起作用。我的意思是我没有得到任何输出:(顺便说一句,你得到输出了吗?如果我有一个多个.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解决了这个问题,我正在获取日志,但我想知道为什么输入第二个配置文件不起作用。请您解释一下,这将有助于理解