Comment changer dynamiquement le nom de fichier en utilisant une variable de C#? Mon idée est de créer un fichier journal comme Log_<UserId_From_DB>_${date:format=yyyy-MM-dd}.log
. Des idées?NLog changer dynamiquement le nom de fichier en utilisant NLog.config
1
A
Répondre
1
En supposant que vous avez un fichier journal appelé mylogfile.log dans votre fichier nlog.config
FileTarget target = LogManager.Configuration.FindTargetByName("mylogfile.log") as FileTarget;
String customlog = "Log_" + GetUserId(UserId_From_DB) + "_" + DateTime.Now.ToString("yyyy-MM-dd") + ".log";
target.FileName = customlog;
2
Une autre option est d'utiliser les variables globales.
Définissez la valeur en C#
LogManager.Configuration.Variables["UserId_From_DB"] = "42";
Dans la config (nlog.config):
<target type="file" filename="Log_${var:UserId_From_DB}_${date:format=yyyy-MM-dd}.log" ..>
Si la valeur est définie à nouveau, le nom de fichier changé automatiquement.