logersnet在Impersonate之后没有记录

时间:2016-10-13 03:57:39

标签: c# log4net

为什么我的log4net在Impersonate之后没有记录,在Undo之后开始记录?

testDebug 6不是日志。

我该怎么办?

        logger.Debug("testDebug 5");
        // The token that is passed to the following constructor must 
        // be a primary token in order to use it for impersonation.
        WindowsIdentity newId = new WindowsIdentity(dupeTokenHandle);
        WindowsImpersonationContext impersonatedUser = newId.Impersonate();
        logger.Debug("testDebug 6");
        // Check the identity.
        // Console.WriteLine("After impersonation: "
        //    + WindowsIdentity.GetCurrent().Name);
        if (Config.DebugMode().Trim().ToUpper() == "ON")
            logger.Debug("After impersonation: " + WindowsIdentity.GetCurrent().Name);

        //////// Put your code here ////////

        ReceiveEmail();

        ///////////////////////////////////

        // Stop impersonating the user.
        impersonatedUser.Undo();
        logger.Debug("testDebug 7");

1 个答案:

答案 0 :(得分:1)

模拟用户很可能没有对日志文件的写入/附加访问权。