单声道中没有应用程序跟踪吗?

时间:2017-01-26 04:55:20

标签: c# mono tracing ms-tracing-eventsource

这是我的项目结构:

.
|-- app.config
|-- bin
|   `-- Debug
|-- NLog.config
|-- NLog.xsd
|-- obj
|   `-- Debug
|-- packages.config
|-- Program.cs
|-- Properties
|   `-- AssemblyInfo.cs
|-- ServiceClient.csproj
`-- Web References
    `-- TestSvc
        |-- Reference.cs
        |-- Reference.map
        |-- TestService.disco
        `-- TestService.wsdl

7 directories, 14 files

我使用以下mcs命令手动编译了项目:

mcs -d:TRACE -d:DEBUG -r:System.Web.Services.dll -out:./bin/Debug/ServiceClient.exe Web\ References/TestSvc/Reference.cs Program.cs

我甚至将app.config复制到目标文件夹ServiceClient.exe.config

看看配置是什么样的:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.diagnostics>
    <sharedListeners>
        <add name="console" type="System.Diagnostics.ConsoleTraceListener"/>
        <add name="nlog" type="NLog.NLogTraceListener,Nlog"/>
    </sharedListeners>

    <sources>
        <source name="System.Net" switchValue="All">
            <listeners>
                <add name="nlog"/>
            </listeners>
        </source>
        <source name="System.Net.Sockets" switchValue="All">
            <listeners>
                <add name="nlog"/>
            </listeners>
        </source>
    </sources>
</system.diagnostics>
</configuration>

但是当我跑步时:

mono ServiceClient.exe "hello world"

我看不到跟踪输出......

1 个答案:

答案 0 :(得分:0)

请尝试Mono log profiler

基本上你需要像这样运行你的应用程序:

mono --profile=log ServiceClient.exe "hello world"

它将在同一目录中生成文件output.mlpd。看到它:

mprof-report output.mlpd