首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NLog MethodCall

NLog MethodCall
EN

Stack Overflow用户
提问于 2013-06-06 21:36:32
回答 1查看 999关注 0票数 1

我有一个silverlight项目,我正在尝试配置NLog来调用静态方法,但它没有(使用Nlog.config)。我在跟踪this example。下面是Nlog.config代码:

代码语言:javascript
复制
...
    <targets>
        <target name="m" xsi:type="MethodCall" 
                         className="NLogTestSilver.MainPage, NLogTestSilver"
                         methodName="LogMethod">
            <parameter layout="${level}" />
            <parameter layout="${message}" />
        </target>
    </targets>

    <rules>
        <logger name="*" minlevel="Debug" writeTo="m" />
    </rules>
...

程序集名称= NLogTestSilver.dll

下面是MainPage.xaml.cs代码:

代码语言:javascript
复制
namespace NLogTestSilver
{
    public partial class MainPage : UserControl
    {
        public static Logger Logger = LogManager.GetCurrentClassLogger();
        public MainPage()
        {
            InitializeComponent();
            Logger.Fatal("Fatality");
        }
        public static void LogMethod(string level, string message)
        {
            System.Windows.Browser.HtmlPage.Window.Alert(level + " " + message);
        }
    }
}

附注:程序化配置运行良好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-11 23:39:36

所以发现在处理className参数时,NLog.Targets.MethodCallTarget.InitializeTarget()方法抛出了异常。

如果我们改变

className="NLogTestSilver.MainPage, NLogTestSilver"

代码语言:javascript
复制
className="NLogTestSilver.MainPage, NLogTestSilver, 
           Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxxxx"

它工作得很好。

其中xxxxxxxxxxxxxxxx是我们的程序集的公钥标记。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16963571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档