透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
ログ記録はソフトウェア開発において重要な側面です。 開発者がアプリケーションの動作を追跡し、問題をトラブルシューティングし、さまざまな環境でコードがどのように動作しているかについての洞察を得るのに役立ちます。 NLogは、C#用の人気のあるログフレームワークで、アプリケーションに堅牢で柔軟なログ機能を簡単に実装することができます。 この包括的なガイドとチュートリアルでは、C#でのNLogの世界を探求します。
NLogは、.NETおよび.NET Coreアプリケーション向けの無償でオープンソースのロギングライブラリです。 それは、アプリケーション内のメッセージをログに記録するための柔軟で高度に構成可能な方法を提供します。 NLogは、その性能、拡張性、および使いやすさから、.NETエコシステムで広く使用されている無料のロギングプラットフォームです。
私たちは、ASP.NET Webアプリケーション、ASP.NET WEB API、Windowsフォームアプリケーション、ASP.NET MVCアプリケーション、または必要に応じてあらゆる種類のアプリケーションでNLogを使用することができます。 次のユースケースをすべて示すために、コンソールアプリケーションを使用します。
NLogを使用開始するには、プロジェクトにNLog NuGetパッケージをインストールする必要があります。 以下の手順で、Visual StudioのNuGetパッケージマネージャーを使用してこれを行うことができます:
「ツール」メニューから「NuGet パッケージ マネージャー」を選択し、「ソリューションの NuGet パッケージの管理」を選びます。
あるいは、ソリューションエクスプローラーでプロジェクトを右クリックし、「NuGet パッケージの管理」を選択し、「参照」を選びます。
NuGetパッケージマネージャーウィンドウで「参照」タブをクリックし、検索ボックスに「NLog」と入力してください。
検索結果にNLogパッケージが表示されるはずです。 クリックして選択してください。
NuGetパッケージマネージャーウィンドウの右側には、ソリューション内のプロジェクトのリストがあります。 インストールしたいプロジェクトを選択してください。
バージョンのドロップダウンから希望するNLogパッケージのバージョンを選択してください。 最新の安定版または必要に応じて特定のバージョンを選択できます。
プロジェクトとバージョンを選択した後、「インストール」ボタンをクリックしてインストールを開始します。
NuGet パッケージ マネージャーは NLog とその依存関係をダウンロードおよびインストールします。 出力ウィンドウに進行状況が表示されます。
NLogはあなたのプロジェクトに正常にインストールされ、C#コード内でログ記録に使用し始めることができます。
nlog.configという名前でNLog構成ファイルを作成するには、次の手順に従うことができます。 この設定ファイルは、アプリケーション内でNLogの動作を指定するためのものです。ログのターゲット、レイアウトレンダラー、ルールなどが含まれます。
プロジェクト内で、設定ファイルを作成したいプロジェクトまたは目的のフォルダーを右クリックします。
「追加」>「新しい項目...」を選択
「新しいアイテムの追加」ダイアログで、「XMLファイル」または「XML」を検索し、選択します。
ファイルをnlog.configと名付け、「追加」ボタンをクリックしてください。
新しく作成されたnlog.configファイルをテキストエディタまたはXMLエディタで開きます。
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- Define targets -->
<targets>
<!-- Log to a file -->
<target name="console" xsi:type="Console" layout="${longdate}
${message}"/>
</targets>
<!-- Define rules -->
<rules>
<!-- All messages with a minimum log level of Debug or higher are written to the Console -->
<logger name="*" minlevel="Debug" writeTo="Console" />
</rules>
</nlog>
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- Define targets -->
<targets>
<!-- Log to a file -->
<target name="console" xsi:type="Console" layout="${longdate}
${message}"/>
</targets>
<!-- Define rules -->
<rules>
<!-- All messages with a minimum log level of Debug or higher are written to the Console -->
<logger name="*" minlevel="Debug" writeTo="Console" />
</rules>
</nlog>
あなたのC#コードでは、nlog.configファイルからNLogの設定を必ず読み込んでください。通常、これはアプリケーションのスタートアップコードで行います。例えば、ASP.NET CoreのStartup.cs(.NET 5と同等またはそれ以前のバージョン)や、program.csファイル(.NET 6以降のバージョン)、またはコンソールアプリケーションのMainメソッドで行います。
internal class Program
{
private static Logger logger = LogManager.GetCurrentClassLogger();
static void Main(string [] args)
{
logger.Debug("This is Debug Message");
Console.Read();
}
}
internal class Program
{
private static Logger logger = LogManager.GetCurrentClassLogger();
static void Main(string [] args)
{
logger.Debug("This is Debug Message");
Console.Read();
}
}
Friend Class Program
Private Shared logger As Logger = LogManager.GetCurrentClassLogger()
Shared Sub Main(ByVal args() As String)
logger.Debug("This is Debug Message")
Console.Read()
End Sub
End Class
上記プログラムの出力は以下の通りです:
この例では、Loggerクラスのインスタンスを作成し、それを使用してデバッグレベルでメッセージをログに記録します。 NLogがサポートしているトレーシングレベルを見てみましょう。
NLogは、それぞれ独自の重要性を持ついくつかのログレベルをサポートしています:
トレース: 通常、診断目的で使用される最も詳細なレベル。
デバッグ: 開発中に役立つデバッグ情報に使用されます。
情報: アプリケーションの動作に関する一般情報。
警告: アプリケーションの動作を妨げない潜在的な問題を示します。
エラー:アプリケーションがクラッシュするわけではありませんが、調査が必要な失敗を示します。
致命的: 直ちに対処すべき重大な障害を示します。
これらのレベルにログメッセージを分類することにより、その重要度に基づいて簡単にフィルタリングおよび優先順位付けを行うことができます。
nLog.Configファイルのrulesタグでminlevel="Trace"
を以下のように設定してください。
<rules>
<!-- All messages with a minimum log level of Trace or higher are written to the Console -->
<logger name="*" minlevel="Trace" writeTo="Console" />
</rules>
<rules>
<!-- All messages with a minimum log level of Trace or higher are written to the Console -->
<logger name="*" minlevel="Trace" writeTo="Console" />
</rules>
すべてのトレースレベルのメッセージをログに記録するコードを書きましょう。
internal class Program
{
private static Logger logger = LogManager.GetCurrentClassLogger();
static void Main(string [] args)
{
logger.Trace("This is Trace Message");
logger.Debug("This is Debug Message");
logger.Info("This is Info Message");
logger.Warn("This is Warning Message");
logger.Error("This is Error Message");
logger.Fatal("This is Fatal Message");
Console.Read();
}
}
internal class Program
{
private static Logger logger = LogManager.GetCurrentClassLogger();
static void Main(string [] args)
{
logger.Trace("This is Trace Message");
logger.Debug("This is Debug Message");
logger.Info("This is Info Message");
logger.Warn("This is Warning Message");
logger.Error("This is Error Message");
logger.Fatal("This is Fatal Message");
Console.Read();
}
}
Friend Class Program
Private Shared logger As Logger = LogManager.GetCurrentClassLogger()
Shared Sub Main(ByVal args() As String)
logger.Trace("This is Trace Message")
logger.Debug("This is Debug Message")
logger.Info("This is Info Message")
logger.Warn("This is Warning Message")
logger.Error("This is Error Message")
logger.Fatal("This is Fatal Message")
Console.Read()
End Sub
End Class
以下に示すように、当プログラムはコンソールにメッセージを記録しました。
コンソールでメッセージをログに記録する例を示しました。次に、NLogターゲットを設定してファイルにメッセージをログに記録します。
ファイルロギングのために、設定ファイル内でコンソールターゲットの代わりにファイルターゲットを設定する必要があります。
<targets>
<target xsi:type="File" name="fileTarget" fileName="D:\Logs\mylog.txt" layout="${longdate} ${level:uppercase=true} ${message}" />
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="fileTarget" />
</rules>
<targets>
<target xsi:type="File" name="fileTarget" fileName="D:\Logs\mylog.txt" layout="${longdate} ${level:uppercase=true} ${message}" />
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="fileTarget" />
</rules>
さて、プログラムを実行してメッセージをファイルに記録します。
NLogはさまざまなログ出力ターゲットをサポートしており、ログメッセージの保存場所を選択することができます。 一般的なターゲットには以下が含まれます:
ファイル:1つ以上のファイルにメッセージをログします。
コンソール: メッセージをコンソールにログします。
データベース:メッセージをデータベース(SQL Server、MySQL、Oracle、PostgreSQLなど)のテーブルに記録します。
メール: ログメッセージをメールとして送信します。
イベントログ: メッセージをWindowsイベントログに記録します。
カスタムターゲット: 特定のニーズに合わせたカスタムログターゲットを作成できます。
NLogを構成して、複数のターゲットを同時に使用することができます。
IronPDF についてさらに探索する は、C# および VB.NET アプリケーションで PDF の操作を簡素化する強力な .NET ライブラリです。 これは、PDFドキュメントの作成、編集、および操作のための強力な機能を提供し、またHTMLコンテンツをPDF形式に変換することができるため、ウェブ開発、レポート作成、および文書管理を含む幅広い業界の開発者にとって不可欠なツールです。
IronPDF の際立った機能は、レイアウトとスタイルを維持するHTML から PDF への変換機能です。 それはウェブコンテンツからPDFを生成し、レポート、請求書、ドキュメントに最適です。 HTMLファイル、URL、HTML文字列は簡単にPDFに変換できます。
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
' 1. Convert HTML String to PDF
Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")
' 2. Convert HTML File to PDF
Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")
' 3. Convert URL to PDF
Dim url = "http://ironpdf.com" ' Specify the URL
Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
pdfFromUrl.SaveAs("URLToPDF.pdf")
End Sub
End Class
ログ機能を使用してPDFを生成しましょう。
最初のステップは、IronPDFライブラリをプロジェクトにインストールすることです。 これをVisual StudioのNuGetパッケージマネージャーを使用して、またはNuGet CLI経由で行うことができます。 プロジェクトを開き、パッケージ マネージャー コンソールに次のコマンドを書き込んでください。
Install-Package IronPdf
このコマンドは、必要なすべての依存関係を含むIronPDFをプロジェクトにインストールします。
以下のコードを書いて、ログ記録付きでHTMLからPDFファイルを生成します。
private static Logger logger = LogManager.GetCurrentClassLogger();
static void Main(string [] args)
{
logger.Info("Initializing Chrome PDF Renderer");
ChromePdfRenderer renderer = new ChromePdfRenderer();
logger.Info("Creating PDF From HTML String");
var pdf = renderer.RenderHtmlAsPdf("<h1>This is my Sample PDF<h1>");
logger.Info("Saving PDF File");
pdf.SaveAs(@"D:\myPDF.pdf");
}
private static Logger logger = LogManager.GetCurrentClassLogger();
static void Main(string [] args)
{
logger.Info("Initializing Chrome PDF Renderer");
ChromePdfRenderer renderer = new ChromePdfRenderer();
logger.Info("Creating PDF From HTML String");
var pdf = renderer.RenderHtmlAsPdf("<h1>This is my Sample PDF<h1>");
logger.Info("Saving PDF File");
pdf.SaveAs(@"D:\myPDF.pdf");
}
Private Shared logger As Logger = LogManager.GetCurrentClassLogger()
Shared Sub Main(ByVal args() As String)
logger.Info("Initializing Chrome PDF Renderer")
Dim renderer As New ChromePdfRenderer()
logger.Info("Creating PDF From HTML String")
Dim pdf = renderer.RenderHtmlAsPdf("<h1>This is my Sample PDF<h1>")
logger.Info("Saving PDF File")
pdf.SaveAs("D:\myPDF.pdf")
End Sub
上記のコードスニペットは、以下に示すようにファイルにログメッセージが含まれたPDFファイルを作成します。
結論として、NLogはC#アプリケーションにおいて効果的なロギングのための不可欠なツールとして登場し、開発者に対してログデータのキャプチャ、分類、および管理のための堅牢なフレームワークを提供しています。 その柔軟性と使いやすさから、さまざまな分野でのロギングのニーズに最適な選択肢となっています。 さらに、IronPDFのような補完的なライブラリーと組み合わせることで、.NETアプリケーションでのPDF生成や操作が簡単になり、開発者はPDFベースのログやレポートの作成を含む管理機能を拡張することができます。 IronPDFがその機能を試すための無料トライアルを提供していることは言及する価値があります。 お客様の要件を満たす場合は、IronPDFの商用ライセンスを選択することができます。これにより、PDF関連機能を特に重視したプロジェクトにおいて、IronPDFの機能に引き続きアクセスでき、追加の利点とサポートを得ることが可能です。
NLogとIronPDFの強力な機能を組み合わせて使用することにより、開発者はアプリケーションの動作についての洞察を得るだけでなく、レポートやドキュメント管理プロセスも強化できます。これにより、ソフトウェアが効率的で保守しやすく、構造化されたログ記録が十分に文書化された状態を維持できます。