您可以使用以下代码来获取NLog中的targets并添加新实例:

using NLog;
using NLog.Config;
using NLog.Targets;

class Program
{
    static void Main(string[] args)
    {
        // 获取NLog配置
        LoggingConfiguration config = LogManager.Configuration;

        // 获取所有的targets
        TargetCollection targets = config.AllTargets;

        // 遍历已有的targets
        foreach (Target target in targets)
        {
            // 打印target的名称
            Console.WriteLine(target.Name);
        }

        // 添加一个新的target实例
        FileTarget fileTarget = new FileTarget("newTarget");
        fileTarget.FileName = "log.txt";

        // 添加新target到配置中
        config.AddTarget(fileTarget);

        // 更新NLog配置
        LogManager.Configuration = config;

        // 获取新添加的target
        Target newTarget = config.FindTargetByName("newTarget");
        if (newTarget != null)
        {
            // 打印新添加的target的名称
            Console.WriteLine(newTarget.Name);
        }

        // 使用新添加的target来记录日志
        Logger logger = LogManager.GetCurrentClassLogger();
        logger.Info("This message will be logged to the new target.");

        Console.ReadLine();
    }
}

上述代码首先获取NLog的配置,然后通过AllTargets属性获取所有的targets,并在控制台打印它们的名称。然后创建一个新的FileTarget实例,并将其添加到配置中。最后,使用新添加的target来记录日志,并在控制台输出新添加的target的名称。

请注意,以上代码只是示例,实际使用时您可能需要根据您的具体需求进行修改

C#获取NLog中的targets 并且新加实例

原文地址: https://www.cveoy.top/t/topic/iKXy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录