创建自定义追加程序(与AppenderSkeleton)连接到Web服务......在这个追加程序,我需要发送一些自定义属性(如网址,浏览器,用户,...),以Web服务......但是当我添加这个属性像:
ThreadContext.Properties["addr"] = System.Web.HttpContext.Current.Request.UserHostAddress;
Run Code Online (Sandbox Code Playgroud)
在我的appender中,像这样:
public class UrlLogAppender : AppenderSkeleton
{
public string APIkey { get; set; }
public string CustomerName { get; set; }
protected override void Append(LoggingEvent loggingEvent)
{
try
{
Base.LogToDataBase.WebService1 LogtoWebserver = new Base.LogToDataBase.WebService1();
string Result = LogtoWebserver.Log(CustomerName, APIkey, loggingEvent.TimeStamp.ToString(), loggingEvent.ThreadName.ToString(), loggingEvent.Level.ToString(), loggingEvent.LoggerName, loggingEvent.RenderedMessage, loggingEvent.ExceptionObject.InnerException.Message.ToString(), loggingEvent.Properties["addr"].ToString(), loggingEvent.Properties["browser"].ToString(), loggingEvent.Properties["url"].ToString());
if (Result != "UnSucced!!")
{
//Say Excellent.... !
}
else
{
//Say Opps....!!
}
}
catch (Exception ex)
{
throw new ApplicationException("An error occured while invoking the Logging …Run Code Online (Sandbox Code Playgroud) 我有Web App,我想将带有查询字符串的日志(带有Log4Net)(Error-Info-Warning)发送到特定的url中,还是要将日志发送到我之前创建它的Web服务中?