---
title: "伐採"
slug: "logging"
abstract: "Sitecoreホストアプリケーションへのログイン。"
---
# 伐採

ホストSitecoreログインは、MicrosoftのMicrosoftが提供するAPIを利用するため簡単です[。拡張機能、ログ、抽象化](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions/2.0.1)、[Microsoft。拡張、ログ](https://www.nuget.org/packages/Microsoft.Extensions.Logging/2.0.1)パッケージ、そしてカスタムレイヤーを提供する代わりに。つまり、MicrosoftログAPIを理解していれば、ログインSitecoreの使い方も理解できるということです。

デフォルトでは、Sitecoreホストアプリケーションはコンソールとデバッグロガーにコンテンツをログします。Sitecore.Framework.Runtime.Abstractionsパッケージに含まれるIConfigureSitecoreLoggingインターフェースを実装することで、独自のカスタムログを利用できます。これにより、選択したログ実装を構築し設定するためのエントリーとなり、Sitecoreホストアプリケーションにも利用可能になります。

Serilogはデフォルトのロガー実装です。これはシンプルながら強力なログフレームワークで、ASP .Net Core 2.xおよびMicrosoft Logging APIと互換性があります。

構造化ログおよびイベントデータの利用をサポートし、アプリケーションのニーズに完全にカスタマイズ可能な豊富なプロパティセットを用いてログ情報の詳細な分析を可能にします。

[セリログのウィキ](https://github.com/serilog/serilog/wiki)に追加情報があります。

このトピックでは以下の内容を説明します。

-   [Sitecore HostアプリケーションでSerilogを構成する](https://doc.sitecore.com/xp/ja/developers/103/sitecore-experience-manager/logging.html#UUID-97de89c0-83b1-9f90-5efa-e3c7026b536c_section-idm45442801862336 "Configure Serilog in a Sitecore Host application")
-   [セリログ沈没](https://doc.sitecore.com/xp/ja/developers/103/sitecore-experience-manager/logging.html#UUID-97de89c0-83b1-9f90-5efa-e3c7026b536c_N1542273694404 "Serilog sinks")
-   [ロングレベルフィルター](https://doc.sitecore.com/xp/ja/developers/103/sitecore-experience-manager/logging.html#UUID-97de89c0-83b1-9f90-5efa-e3c7026b536c_section-idm45442802133152 "Logging level filters")
-   [追加の物件や丸太強化材を含める](https://doc.sitecore.com/xp/ja/developers/103/sitecore-experience-manager/logging.html#UUID-97de89c0-83b1-9f90-5efa-e3c7026b536c_section-idm45442801870960 "Include additional properties and log enrichers")
-   [コンソールロガーフォーマットの設定](https://doc.sitecore.com/xp/ja/developers/103/sitecore-experience-manager/logging.html#UUID-97de89c0-83b1-9f90-5efa-e3c7026b536c_section-idm45442801861920 "Configure the console logger format")
-   [ファイルロガーのフォーマットを設定する](https://doc.sitecore.com/xp/ja/developers/103/sitecore-experience-manager/logging.html#UUID-97de89c0-83b1-9f90-5efa-e3c7026b536c_section-idm45403304723376 "Configure the file logger format")

## Sitecore HostアプリケーションでSerilogを構成する

sitecorehost.xmlファイルでログを設定するのは、アプリケーションが実行されるとログが早い段階で始まるからです。例えば:

<Serilog>
 <Using>
 <Console>Serilog.Sinks.Console</Console>
 <Rolling>Serilog.Sinks.RollingFile</Rolling>
 <Environment>Serilog.Enrichers.Environment</Environment>
 </Using>
<Serilog>
## セリログ沈没

Sitecoreホストアプリケーションは様々なSerilogシン *ク*を使用できます。シンクとは、ログを異なる出力、例えばコンソールへの出力やファイルへの出力にパイプで送るSerilog特有の方法です。

sitecorehost.xmlファイルでアプリケーションのデフォルトシンクを設定します:

<Serilog>
 <Using>
 <Console>Serilog.Sinks.Console</Console>
 <Rolling>Serilog.Sinks.RollingFile</Rolling>
 <Environment>Serilog.Enrichers.Environment</Environment>
 </Using>
<Serilog>
## ロングレベルフィルター

アプリケーション内のすべてのログをカバーする最小ログレベルを指定することができます。以下の例では、デフォルトのログレベルをDebugに設定しています:

<Serilog>
 <MinimumLevel>
 <Default>Debug</Default>
 </MinimumLevel>
</Serilog>

また、名前空間に基づいてオーバーライドフィルターを指定することもできます。これを使ってシステムの異なる部分ごとに異なるログの重大さを記録します。

特定の名前空間のログを上書きしたい場合は(例えば、Microsoft名前空間内のものをWARNINGのみ出力に設定する)、Override要素を使います。

<Serilog>
 <MinimumLevel>
 <Default>Debug</Default>
 <Override>
 <Microsoft>Warning</Microsoft>
 <System>Warning</System>
 </Override>
 </MinimumLevel>
</Serilog>
## 追加の物件や丸太強化材を含める

Serilogではログにさまざまなプロパティを加えてリッチングできます。デフォルトのエンリチャーはEnvironmentで、現在のマシン名が使われます。エンリチャーは以下の方法で含まれますsinks:

<Serilog>
 <Enrich>
 <FromLogContext>FromLogContext</FromLogContext>
 <WithMachineName>WithMachineName</WithMachineName>
 </Enrich>
 <Properties>
 <Application>SerilogSample</Application>
 </Properties>
</Serilog>

## コンソールロガーフォーマットの設定

以下は、Serilog構成でコンソールロガーを作成する方法の例です:

<Serilog>
 <WriteTo>
 <ConsoleLogger>
 <Name>Console</Name>
 <Args>
 <theme>Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Code, Serilog.Sinks.Console</theme>
 <outputTemplate>{Timestamp:HH:mm:ss} {Level:u3} {SourceContext} - {Message}{NewLine}{Exception}</outputTemplate>
 </Args>
 </ConsoleLogger>
 </WriteTo>
</Serilog>

ロガーは各ログラインをフォーマットする際にoutputTemplate要素を使用します。テーマ要素はコンソール上のカラー出力を指定します。利用可能なテーマは以下の通りです:

-   ConsoleTheme.None\- スタイリングなし。
-   SystemConsoleTheme.Literate\- すべてのWindows/.NETターゲットでサポートされているSystem.Console色モードを使って、Serilog.Sinks.Literateを再現するようにスタイル化。テーマを指定しない場合、これがデフォルトです。
-   SystemConsoleTheme.Grayscale\- グレー、白、黒の色調のみを使ったテーマ。
-   AnsiConsoleTheme.Literate\- Literate テーマのANSI16カラーバージョン。
-   AnsiConsoleTheme.Grayscale\- Grayscale テーマのANSI 256カラー版。
-   AnsiConsoleTheme.Code\- ANSI 256カラーのVisual Studio Codeにインスパイアされたテーマ。

[Serilog Console Sink](https://github.com/serilog/serilog-sinks-console)にはさらに詳しい情報があります。

## ファイルロガーのフォーマットを設定する

pathFormat要素はパスとファイル形式を指定し、outputTemplate要素は各ログラインの形式を指定します。

<Serilog>
 <WriteTo>
 <FileLogger>
 <Name>RollingFile</Name>
 <Args>
 <pathFormat>logs\\SerilogSample-{Date}.log</pathFormat>
 <outputTemplate>{Timestamp:o} {Level:u3} {Application}/{MachineName} {SourceContext} - {Message}{NewLine}{Exception}</outputTemplate>
 </Args>
 </FileLogger>
 </WriteTo>
</Serilog>