Web Api 2とOwinを使用してアプリケーションにログを追加しようとしていますので、Microsoft Owin Loggingを使用しました。これはとILoggerFactory
が実装されており、STARTUPメソッドまたはOwin Middlewareコンポーネントのいずれかを使用します。例えばMicrosoft Owinロギング - Web Api 2 - ロガーの作成方法を教えてください。
、私はStartup
方法にいるとき、私は使用してロガーを作成することができます。
public void Configuration(IAppBuilder app)
{
// Creates configuration
var configuration = new HttpConfiguration();
// Configure WebApi Settings
WebApiConfig.Register(configuration);
app.SetLoggerFactory(new OwinLog4NetLoggerFactory("Default"));
var logger = app.CreateLogger<Startup>();
logger.WriteInformation("test log");
// Enabled WebApi in OWIN
app.UseWebApi(configuration);
}
「OwinLog4NetLoggerFactoryは」私のカスタムILoggerFactory実装です
。これまでのところ、...実際のウェブAPIのアクションメソッドを使用しているときに、どのようにロガーを作成できますか... Request.GetOwinEnvironment()
にアクセスしようとしましたが、ロガーファクトリは辞書にありません。例えば
:
public class AccountController : ApiController
{
public int Get(int id)
{
// Create logger here
return id + 1;
}
}
私はAPIコントローラにロガーを追加するロガーファクトリーへの参照、あるいは注射で静的クラスを作成することができます知っているが、それはそのはず何かのためには複雑すぎるようですすでにそこにいてください。
すべてのアイデアをいただければ幸いです。
誰もが実際に答えることができます元のポスターの質問?以下の1つの答えは、彼が求めたものではありません。 –