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 –
申し訳ありませんが、申し訳ありませんが、人々は答えに時間がかかりましたので、あなたの投稿を破壊することはできません。 –