私はAzureでWebJobを作成しました。私はNlogを使い、ログファイルをWebJobのexeファイルの "ベースディレクトリ"に向けました。 Webジョブが作成され、エラーなしで正常に実行されています。また、Nlogがローカルシステムにログファイルを作成しています。しかし、紺碧では、私はログファイルを見つけることができません。私は "app_data \ jobs \ triggered"フォルダに入って、私が作成したジョブを見つけました。しかし、ログファイルは作成されていません。私は紺碧の中にコンソールログを書いて見ることができます。AzureでWebJobのログファイルが見つかりません
EDIT
のProgram.cs
using NLog;
using System;
namespace FacilitationPortal.WebJob {
class Program
{
static Logger logger = LogManager.GetCurrentClassLogger();
static void Main(string[] args)
{
string nlogServicePath = AppDomain.CurrentDomain.BaseDirectory + "NLog-WebSchedulerService.config";
NLog.LogManager.Configuration = new NLog.Config.XmlLoggingConfiguration(nlogServicePath, true);
logger.Debug("Initializing the Web Scheduler Service");
Console.WriteLine("Initializing the Web Scheduler Service");
StartServices();
}
private static void StartServices()
{
logger.Debug("INSIDE - START SERVICES");
}
}
}
NLog-WebSchedulerService.configは
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true">
<targets >
<target xsi:type="File" name="logfile"
fileName="${basedir}/logs/WebScheduler.log"
layout="${longdate} ${level:uppercase=true:padding=5} ${gdc:item=hostname} ${gdc:item=useremail} (${logger} - ${mdc:item=actionname}) ${message} ${exception:format=tostring}"
archiveEvery="Day"
archiveFileName ="${basedir}/logs/WebScheduler.${date:format=yyyy-MM-dd HH.mm}.{#}.zip"
archiveNumbering ="Sequence"
maxArchiveFiles="30"
fileAttributes="Compressed"
enableArchiveFileCompression = "true">
</target>
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="logfile">
</logger>
</rules>
</nlog>
Console.WriteLineをを(ファイル)アズールコンソールでログを印刷しています。しかし、logger.Debug()は、exeが存在する場所にログファイルを作成していません。私のローカルシステムで同じアプリケーションを実行すると、ログファイルが作成されています。
おかげまず
関連コードを投稿できますか? – Thomas
私は、 '' $ {basedir} ''を '' fileName = "D:\ home \ data \ logs \ WebScheduler.log" ''のような既存の物理ディレクトリに置き換え、ログがAzure、あなたはそれを試すことができます。 –