asp.net - Enterprise Library 3.1 Logging Formatter Template - Include URL Request -


we have custom web app built using ektron v8.0 uses el 3.1 , format template in logging config configured such:

<add       name="text formatter"       type="microsoft.practices.enterpriselibrary.logging.formatters.textformatter, microsoft.practices.enterpriselibrary.logging"       template="timestamp: {timestamp} message: {message} category: {category} priority: {priority} eventid: {eventid} severity: {severity} title:{title} extended properties: {dictionary({key} - {value} )}"                 /> 

is there template item request url? without request url querystring parameters, it's difficult debug errors.

there no template item request url. can add request url extended properties information logged:

string requesturl = system.web.httpcontext.current.request.url.absoluteuri;  dictionary<string, object> dictionary = new dictionary<string, object>(); dictionary.add("requesturl", requesturl);  logger.write("my message", dictionary); 

since formatter logging dictionary key/values requesturl show in log.

an alternative approach create own iextrainformationprovider populate specific web information interested in. it's same thing except using enterprise library interface.

public class webcontextinformationprovider : iextrainformationprovider {     public void populatedictionary(idictionary<string, object> dict)     {         dict["requesturl"] = system.web.httpcontext.current.request.url.absoluteuri;     } }  dictionary<string, object> dictionary = new dictionary<string, object>(); webcontextinformationprovider webcontext = new webcontextinformationprovider();  webcontext.populatedictionary(dictionary);  logger.write("my message", dictionary); 

Comments

Popular posts from this blog

python - Scipy curvefit RuntimeError:Optimal parameters not found: Number of calls to function has reached maxfev = 1000 -

c# - How to add a new treeview at the selected node? -

java - netbeans "Please wait - classpath scanning in progress..." -