おはようございます。
VB.NETでも log4net を使ってログ出力を試してみました。
プログラムは前回のものを使用します。
【VB.NET】PostgreSQL に接続してデータ操作(追加・更新・削除)をしてみる
また、WPF@C#は下記の記事を参考にしてください。
【WPF】log4netを使ってログを出力する
ソリューションエクスプローラーからプロジェクトを選択、右クリックし
「Nuget パッケージの管理」を選択します。
Nuget パッケージ管理画面が表示されるので、
検索窓に「log4net」を入力し、「log4net」を選択、インストールボタンをクリックします。
変更の確認ダイアログが表示されるので、「OK」ボタンをクリックします。
出力ビューに「終了」が出力されればOKです。
パッケージエクスプローラーから対象のファイルを開きます。
AccemblyInfo.vb
// log4net を利用するための設定
//
<Assembly: log4net.Config.XmlConfigurator(ConfigFile:="log4net.config", Watch:=True)>
パッケージエクスプローラーから「追加」>「新しい項目」を選択します。
「アプリケーション構成ファイル」を選択して「追加」ボタンをクリックします。
log4net.config
<?xml version="1.0" encoding="utf-8" ?>
<!-- [log4net.config] -->
<configuration>
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<appSettings>
<!-- log4net 内部のデバッグメッセージを出力 -->
<add key="log4net.Internal.Debug" value="true" />
</appSettings>
<log4net>
<!-- コンソール出力用のアペンダ -->
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<!-- 出力文字列のフォーマット -->
<layout type="log4net.Layout.PatternLayout">
<!--^「日付、スレッド、レベル、logger名、メッセージ」が出力^-->
<!--^「%-5p」というのは5文字以下の場合、右側に空白を入れる設定^-->
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
<!-- ファイル出力用のアペンダ(日付でローテーション) -->
<appender name="DailyFileAppender"
type="log4net.Appender.RollingFileAppender">
<!-- ログファイルの切替 { サイズ: Size, 日付: Date } -->
<param name="RollingStyle" value="Date" />
<!-- ファイル名 -->
<param name="File" value="log/" />
<!-- ファイル名に付加する日付パターン -->
<param name="DatePattern" value='yyyyMMdd".log"' />
<!-- ファイル名の固定 -->
<param name="StaticLogFileName" value="false" />
<!-- ファイル書き込み { 追記: true, 上書き: false } -->
<param name="AppendToFile" value="true" />
<!-- 出力文字列のフォーマット -->
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5level %date{yyyy/MM/dd HH:mm:ss, fff} [%thread] %logger - %message%newline" />
</layout>
</appender>
<!-- デフォルトの出力設定 -->
<root>
<level value="ALL" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="DailyFileAppender" />
</root>
</log4net>
</configuration>
log4net.configファイルのプロパティで、
「出力ディレクトリにコピーする」を「常にコピーする」に変更します。
次の記述を追加します。
Form1.vb
Form1.vb
' ライブラリのインポート
import log4net;
public Class Form1
' ログ出力用インスタンスの宣言
Private logger As ILog = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)
.
.
.
省略
''' <summary>
''' 検索ボタンクリックイベント.
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
logger.Info("MainWindows 検索ボタンクリック")
search()
End Sub
アプリケーションをデバッグ起動し、検索ボタンをクリックします。
コンソール出力にログが出力されるのを確認します。
実行ディレクトリ>log>yyyymmdd.log を確認、ログが出力されていればOKです。
WPF@C#とほとんど同じ手順で使うことができました。
ではでは。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント