2016-04-07 15 views
0

私が読んだところでは、エンタープライズライブラリはファイル名のトークンを許可しません。これは他のすべてのロギングソリューションが行うため非常に奇​​妙です。エンタープライズライブラリのファイル名にテンプレートまたはトークンを指定する方法

これは非常に混乱しています。私は何かが間違っています。私はフラットまたはlollingファイルリスナでプロセス名を指定することさえできません。

NLog

<target name="txtFile" 
    xsi:type="File" 
    fileName="${cached:cached=true:inner=${date:format=yyyy-MM-dd HH-mm-ss}}.txt" 
    layout="${longdate} ${level} ${message}"/> 

log4netの

<file type="log4net.Util.PatternString" value="~/App_Data/%property{LogName}" /> 

答えて

0

私は今、プロセスレベルで

<add name="loggingErrorsLog"     
    fileName="%LOGS_DIR%\%PROCESSNAME%\loggingErrors.log" ... 

を環境変数を使用しており、それらの変数を設定する(プログラム的なセットアップを除く)知っている唯一のソリューションコード内:

var logsDir = Environment.GetEnvironmentVariable(EnvVarLogsRoot, EnvironmentVariableTarget.Machine) ?? "Logs"; 
Environment.SetEnvironmentVariable(EnvVarLogsRoot, logsDir); 
関連する問題