我想在Azure上托管的ASP.NET服务的IIS访问日志中排除用户IP字段。有没有办法实现这个目标?我正在使用WAD将日志收集到blob存储中。
答案 0 :(得分:2)
您需要运行提升的Azure角色启动任务(请参阅http://blogs.msdn.com/b/avkashchauhan/archive/2011/03/17/using-startup-task-in-windows-azure-detailed-summary.aspx)并运行以下命令从日志中删除ClientIP字段:
%windir%\system32\inetsrv\appcmd set config -section:sites -siteDefaults.logfile.logExtFileFlags:Date,Time,UserName,ServerIP,Method,UriStem,UriQuery,TimeTaken,HttpStatus,Win32Status,ServerPort,UserAgent,HttpSubStatus,Referer
在上面的命令行" ClientIp"已删除,应从日志中删除用户IP字段。
答案 1 :(得分:0)
添加BilalAlam的答案(虽然这并没有直接回答这个问题)
他的示例将更改所有网站的日志记录
appcmd set config -section:sites -siteDefaults.logfile.logExtFileFlags:Date,Time,UserName,ServerIP,Method,UriStem,UriQuery,TimeTaken,HttpStatus,Win32Status,ServerPort,UserAgent,HttpSubStatus,Referer
以下是如何更改单个网站的日志记录
appcmd.exe set config -section:sites -"[name='ExampleSite'].logfile.logExtFileFlags:Date,Time,UserName,ServerIP,Method,UriStem,UriQuery,TimeTaken,HttpStatus,Win32Status,BytesSent,BytesRecv,ServerPort,UserAgent,Cookie,HttpSubStatus,Referer"����
如果要在应用程序主机配置文件(而不是web.config文件)中进行更改,请将/commit:apphost
添加到命令的末尾
appcmd.exe set config -section:sites -"[name='ExampleSite'].logfile.logExtFileFlags:Date,Time,UserName,ServerIP,Method,UriStem,UriQuery,TimeTaken,HttpStatus,Win32Status,BytesSent,BytesRecv,ServerPort,UserAgent,Cookie,HttpSubStatus,Referer" /commit:apphost