我有一个通过jquery消耗的web服务...现在问题是我想从nlog中调入一些调试,以便我可以看到流程实际上是如何进行的...我认为nlog是debuging的选项... 。 这是我的配置和代码
<targets>
<target name="file" xsi:type="File"
layout="${longdate} ${logger} ${message}"
fileName="${basedir}/Logs/${shortdate}.log" />
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="file" />
<logger name="*" minlevel="Error" writeTo="file" />
<logger name="*" minlevel="Fatal" writeTo="file" />
<logger name="*" minlevel="Info" writeTo="file" />
</rules>
和我给出的用于获取调试信息的记录器类是
[ScriptService]
public class Service : System.Web.Services.WebService
{
Logger logger = LogManager.GetCurrentClassLogger();
[WebMethod]
public String GetAgentDetails(String AgentId)
{
logger.Info("This is webservice");
String result = string.Empty;
try
{
using (ISession session = NhibernateHelper.Opensession())
{
logger.Info("Enters Session");
var agent = GetAgent(); // Gets the agent object
result = JsonConvert.SerializeObject(agent);
logger.Info(result);
return result;
}
}
catch (InvalidOperationException ioe)
{
logger.Error(ioe.Message);
logger.Fatal(ioe.Message);
logger.Error(ioe.InnerException);
logger.Fatal(ioe.InnerException);
return null;
}
catch (Exception ex)
{
logger.Error(ex.Message);
logger.Fatal(ex.Message);
logger.Error(ex.InnerException);
logger.Fatal(ex.InnerException);
}
return result;
}
}
当通过jquery脚本访问时,它应该写了日志信息,我写了logger.info(结果),但似乎没有创建日志文件。有人解释什么问题?但是,相同的日志文件适用于所有其他类。没问题。如果抛出异常,则会创建日志文件并写入日志。但在这种情况下,logger.info没有发生。我正在使用Nlog 2.0与Asp.net 3.5 SP1。