質問するログイン新規登録
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

1790閲覧

Nlogでログ出力がデバッグでは使えるが、配布したアプリケーションでは動かない

RC46

総合スコア11

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2023/06/09 11:36

編集2023/06/09 11:38

0

0

実現したいこと

NLogを本番環境で使いたい

発生している問題・エラーメッセージ

配布アプリケーションではログが出力されない
VS2019でC#アプリケーションを作成しております
エラー等のログを取る為にNlogを活用しており、実際に完成して配布用にインストーラ―を作成して
本番環境でテストしたところ、ログファイルどころかフォルダさえ作成されません
どこか違うところに出力されたかと、検索したが、どこにも出力されてないようです

NLogの設定はconfigで記述しています
ネットを参考にしております
情報通り
ビルドアクションは コンテンツ
出力ディレクトリにコピーは 新しい場合はコピーする
にしております

Nlogは本番環境では使えないということでしょうか?

該当のソースコード

Nlog.config

1<?xml version="1.0" encoding="utf-8" ?> 2<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 autoReload="true" 5 throwExceptions="true" 6 7 <targets> 8 <!-- ファイル --> 9 <target name="logFile" 10 xsi:type="File" 11 encoding="UTF-8" 12 writeBom="true" 13 lineEnding="Default" 14 layout="${longdate} ${level:uppercase=true:padding=-5} [${threadid}] ${logger} - ${message} ${exception:format=tostring}" 15 fileName="C:\MySystem\MyApp\logs\event.log" 16 archiveFileName="C:\MySystem\MyApp\logs\archive\{#}.log" 17 archiveEvery="Day" 18      archiveDateFormat="yyyyMMdd" 19 archiveNumbering="Date" 20 maxArchiveFiles="60" /> 21 </targets> 22 <rules> 23 <logger name="*" minlevel="Info" writeTo="logFile" /> 24 </rules> 25</nlog>

C#

1 public partial class MainForm : Form 2 { 3 static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); 4 5 public MainForm() 6 { 7 InitializeComponent(); 8 9 logger.Info("Test Log"); 10 } 11 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hqf00342

2023/06/11 12:28

fileName="C:\MySystem\MyApp\logs\event.log" は実際のパスでしょうか? やってしまいがちなのはインストール先の「Program Files」など書込権限のないフォルダに書き出そうとするケースが多いと思います。 nlog.configにnlog内部ログを出力するよう以下のように最終行を追記し確認されるのが速いと思います。 <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true" throwExceptions="true" internalLogLevel="Trace" internalLogFile="c:\temp\nlog-internal.txt">
guest

回答1

0

自己解決

ログ記録用のクラスを作成して出力するようにしました

良く調べて見るとデバッグ用ツールということで納得しました

投稿2023/06/16 04:13

RC46

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問