Skip to content

Instantly share code, notes, and snippets.

@ledsun
Created March 8, 2012 01:40
Show Gist options
  • Save ledsun/1997897 to your computer and use it in GitHub Desktop.
Save ledsun/1997897 to your computer and use it in GitHub Desktop.
ログ出力を追加したASP.NETページ基底クラス。NLog使ってます。
public abstract class PageBase : System.Web.UI.Page
{
/// <summary>
/// イベント呼び出しのログ出力用メソッドです
/// </summary>
/// <param name="PageName">ページ名(日本語)</param>
/// <param name="EventName">イベント名(日本語)</param>
/// <param name="memo">その他メモ(あれば)</param>
/// <param name="queryNames">クエリパラメータ名(あれば)</param>
protected void EventTraceLog(string PageName, string EventName, string memo = "", string[] queryNames = null)
{
var mb = new StackTrace(true).GetFrame(1).GetMethod();
var urlReferrer = Request.UrlReferrer;
var message = mb.DeclaringType + "." + mb.Name
+ "|" + PageName
+ "|" + EventName
+ "|" + (urlReferrer == null ? "" : urlReferrer.LocalPath + urlReferrer.Query)
+ "|";
if (queryNames != null)
{
foreach (var n in queryNames)
{
message += n + "=" + Page.Request.QueryString[n] + ",";
}
}
LogManager.GetLogger(mb.DeclaringType.ToString()).Trace(message + "|" + memo);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment