using System;
using System.IO;
using NLog;
using NLog.Config;
using NLog.Targets;
using Newtonsoft.Json.Linq;
namespace LoggingExample
{
class Logging
{
static void Logging()
{
var config = new LoggingConfiguration();
var consoleTarget = new ColoredConsoleTarget();
config.AddTarget("console", consoleTarget);
var fileTarget = new FileTarget();
config.AddTarget("file", fileTarget);
consoleTarget.Layout = "${message}";
fileTarget.FileName = "C:/log.txt";
fileTarget.Layout = "${message}";
consoleTarget.UseDefaultRowHighlightingRules = true;
string json = File.ReadAllText("config.json");
JObject jo = JObject.Parse(json);
string debugLevel = (string) jo.SelectToken("Logging_Properties.LogLevel");
LogLevel level = TestDebugLevel(debugLevel) ? LogLevel.FromString(debugLevel) : LogLevel.Info;
LoggingRule rule1 = new LoggingRule("Console", LogLevel.Debug, consoleTarget);
LoggingRule rule2 = new LoggingRule("File", level, fileTarget);
config.LoggingRules.Add(rule1);
config.LoggingRules.Add(rule2);
LogManager.Configuration = config;
}
static bool TestDebugLevel(string level)
{
switch (level.ToLower())
{
case "info":
return true;
case "debug":
return true;
case "warn":
return true;
case "error":
return true;
case "fatal":
return true;
default:
return false;
}
}
}
내 응용 프로그램에는 프로그래밍 방식으로 구성된 로거가 있어야하며 유일한 문제는 사용 방법을 모르는 것입니다. 나는 모든 것이 정확하게 쓰여졌다 고 생각하지만 실제로 응용 프로그램 내에서 로거를 실제로 호출하는 방법을 모른다. 나는 콘솔이나 파일 로거 중 하나를 사용하고자하는 로거와 함께 Logmanager.GetLogger()
을 사용해야 만한다는 것을 알고 있지만 아무것도 시도하지 않으면 로깅됩니다.커스텀 로깅 설정은 어떻게 사용합니까?
https://github.com/NLog/NLog/wiki/Tutorial –
죄송합니다. 사용자가 답장하는 데 시간이 걸리기 때문에 죄송하지만 게시물을 파기 할 수 없습니다. –