public static void ConfigureAgentTarget(AScriptRunnerAgent agent, int levelLimit, string targetName = AgentTargetName) { var agentTarget = new RelativityAgentNLogTarget(agent, levelLimit); var configuration = LoggingBootstrapper.EnsureConfiguration(); configuration.AddTarget(AgentTargetName, agentTarget); LogLevel logLevel; if (levelLimit >= 10) { logLevel = LogLevel.Info; } else if (levelLimit >= 5) { logLevel = LogLevel.Warn; } else if (levelLimit >= 1) { logLevel = LogLevel.Error; } else { logLevel = LogLevel.Off; } configuration.AddRule(logLevel, LogLevel.Fatal, targetName); LogManager.ReconfigExistingLoggers(); }
/// <summary> /// Initializes a new instance of the <see cref="RelativityAgentNLogTarget"/> class. /// </summary> /// <param name="agent">The currently executing agent to write the messages to.</param> /// <param name="levelLimit">The log level assigned to the agent in Relativity.</param> public RelativityAgentNLogTarget(AScriptRunnerAgent agent, int levelLimit) { this.agent = agent; this.levelLimit = levelLimit; this.Name = AgentLoggingBootstrapper.AgentTargetName; }