こんにちは、 私は問題に直面しています。 NLogを試してみてください。設定コードは以下の通りですNLogがディスクにログファイルを書き込めません
var config = new LoggingConfiguration();
var fileTarget = new FileTarget();
config.AddTarget("file", fileTarget);
fileTarget.FileName = @"D:\" + filename;
fileTarget.Layout = @"${date:format=HH\:mm\:ss} ${logger} ${message}";
var rule1 = new LoggingRule("*", LogLevel.Debug, fileTarget);
config.LoggingRules.Add(rule1);
LogManager.Configuration = config;
Logger logger = LogManager.GetLogger("Example");
logger.Debug("debug log message");
コードはいくつかのチュートリアルから取られました。そして、何も起こらなかった。ログファイルはディスクD上に作成されませんでしたが、プロジェクトの出力ディレクトリに作成されました。私は@"C:\" + filename
を試しました。私は驚いたが、ログファイルはそこにあった。
私は@"D:\SomeFolder\" + filename
にログを記録しようとしましたが、そこにもファイルがありました。
だから誰でも私が何が間違っているのか理解するのを助けることができる@"D:\" + filename
。
P.S.管理者権限で実行されるVisual Studio 2013。また、私は${basedir}
を試しました。すべてOkだった。
検索を試しましたか? 99.999%のケースではこれは権限の問題ですが、コンテキスト(これはデスクトップアプリケーションまたはWebアプリケーション)やアクセス権については何も言及していません。一般に、ディスクのルートディレクトリは、そのアクセス権によってかなり制限されています。 「nlog/NLog Wiki・GitHub」(https://github.com/NLog/NLog/wiki/Logging-troubleshooting)も参照してください。 – CodeCaster
@CodeCaster、こんにちは。私は検索しようとします。また、私はアクセス許可をチェックしました。たぶん、私は何かを逃した。もう一度チェックします。これはデスクトップアプリケーションです。ディスクCはシステムディスクなので、Dは借用されていませんでした。 – Max