CSFramework.WebApi后端框架Log日志配置详解
CSFramework.WebApi后端框架Log日志配置详解
1. 消息监听日志:
用于监听所有客户端的请求并写入日志数据库,包括请求的IP、请求时间、请求方法(POST/GET)、URI地址、StatusCode状态码等信息。
以下是具体代码实现:
C# Code:
/// <summary>
/// 监听WebAPI服务器所有请求.
/// </summary>
public class RequestListenHandler : DelegatingHandler
{
protected ILog2Database _log;
public RequestListenHandler(ILog2Database log)
{
_log = log;
}
protected override System.Threading.Tasks.Task<HttpResponseMessage> SendAsync(
HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
{
//注意:若Request.Method=POST,不可读取Request.Body流(Stream)信息,一旦读取,会销毁Stream对象。
//Method=GET,读取RequestUri
//控制台显示请求的URI信息
Console.WriteLine("收到请求:" + request.RequestUri);
//调用WebAPI控制器接口完毕,才执行下面的代码
return base.SendAsync(request, cancellationToken).ContinueWith((task) =>
{
//添加日志
_log.Write(request, task.Result as HttpResponseMessage);
return task.Result;
});
}
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// 监听WebAPI服务器所有请求.
/// </summary>
public class RequestListenHandler : DelegatingHandler
{
protected ILog2Database _log;
public RequestListenHandler(ILog2Database log)
{
_log = log;
}
protected override System.Threading.Tasks.Task<HttpResponseMessage> SendAsync(
HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
{
//注意:若Request.Method=POST,不可读取Request.Body流(Stream)信息,一旦读取,会销毁Stream对象。
//Method=GET,读取RequestUri
//控制台显示请求的URI信息
Console.WriteLine("收到请求:" + request.RequestUri);
//调用WebAPI控制器接口完毕,才执行下面的代码
return base.SendAsync(request, cancellationToken).ContinueWith((task) =>
{
//添加日志
_log.Write(request, task.Result as HttpResponseMessage);
return task.Result;
});
}
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
app.config配置, Yes/No。
XML Code:
<!--监听接口访问(Yes/No)-->
<add key="RequestListen" value="Yes"/>
//来源:C/S框架网 | www.csframework.com | QQ:23404761
<add key="RequestListen" value="Yes"/>
//来源:C/S框架网 | www.csframework.com | QQ:23404761
判断app.config配置value=Yes,则添加到Web API中的消息处理程序(Message Handler)
C# Code:
//监听接口访问
if (WebApiSettings.Current.AllowRequestListen)
config.MessageHandlers.Add(new RequestListenHandler(log));
//来源:C/S框架网 | www.csframework.com | QQ:23404761
if (WebApiSettings.Current.AllowRequestListen)
config.MessageHandlers.Add(new RequestListenHandler(log));
//来源:C/S框架网 | www.csframework.com | QQ:23404761
日志信息:

2. WebApi接口访问日志:
用于记录用户访问的具体接口信息,比如:api/do/post,api/user/file/upload等,
包括请求时间、日志类型、接口编码、具体方法名(OP),请求的Body内容(请求的JSON数据)等。
在CommandHandler.ProcessCommand方法内提交日志信息到日志数据库。
C# Code:
if (command.Log != null)
command.Log.Write(command.HttpRequest, command.UserRequest, command.ClientData);
//来源:C/S框架网 | www.csframework.com | QQ:23404761
command.Log.Write(command.HttpRequest, command.UserRequest, command.ClientData);
//来源:C/S框架网 | www.csframework.com | QQ:23404761
日志信息:

ASP.NET WebApi快速开发框架|APP后端框架-标准版V1.0
适用开发:快速搭建APP、B/S、C/S、微信小程序、公众号、Web站点等后端应用服务程序。
运行平台:Windows + .NET Framework 4.5
开发工具:Visual Studio 2015+,C#语言
数据库:Microsoft SQLServer 2008R2+(支持多数据库:Oracle/MySql)

参考文档:
GateController – 系统安全门禁控制器 | CSFramework.WebApi后端框架|C/S开发框架
CSFramework.WebApi后端框架 | 系统配置 | app.config|C/S开发框架
CSFramework.WebApi后端框架Token令牌工作机制以及Token刷新原理
CSFramework.WebAPI 后端框架系统架构图|C/S开发框架
CSFramework.WebApi后端框架 | 开发者账号(公钥ApiKey与私钥SecretKey)|C/S开发框架
CSFramework.WebApi后端框架 | 用户请求类型 (User Request)参数模型|C/S开发框架
CSFramework.WebApi后端框架提供两种接口调用方式|C/S开发框架
FileController – 文件管理控制器 | CSFramework.WebApi后端框架|C/S开发框架
ImageController – 图片资源控制器 | CSFramework.WebApi后端框架|C/S开发框架
SystemController – 系统管理控制器 | CSFramework.WebApi后端框架|C/S开发框架
VS解决方案与目录结构 | CSFramework.WebApi后端框架|C/S开发框架
CSFramework.WebApi后端框架 | 压力测试报告|C/S开发框架
CSFramework.WebApi后端框架软件截图|C/S开发框架
CSFramework.WebApi后端框架 | 软件著作权登记证书|C/S开发框架
测试DoController控制器 | CSFramework.WebApi后端框架|C/S开发框架
测试FileController文件控制器 | CSFramework.WebApi后端框架|C/S开发框架
GateController – 系统安全门禁控制器 | CSFramework.WebApi后端框架|C/S开发框架
CSFramework.WebApi后端框架 | 系统配置 | app.config|C/S开发框架
CSFramework.WebApi后端框架Token令牌工作机制以及Token刷新原理
CSFramework.WebAPI 后端框架系统架构图|C/S开发框架
CSFramework.WebApi后端框架 | 开发者账号(公钥ApiKey与私钥SecretKey)|C/S开发框架
CSFramework.WebApi后端框架 | 用户请求类型 (User Request)参数模型|C/S开发框架
CSFramework.WebApi后端框架提供两种接口调用方式|C/S开发框架
FileController – 文件管理控制器 | CSFramework.WebApi后端框架|C/S开发框架
ImageController – 图片资源控制器 | CSFramework.WebApi后端框架|C/S开发框架
SystemController – 系统管理控制器 | CSFramework.WebApi后端框架|C/S开发框架
VS解决方案与目录结构 | CSFramework.WebApi后端框架|C/S开发框架
CSFramework.WebApi后端框架 | 压力测试报告|C/S开发框架
CSFramework.WebApi后端框架软件截图|C/S开发框架
CSFramework.WebApi后端框架 | 软件著作权登记证书|C/S开发框架
测试DoController控制器 | CSFramework.WebApi后端框架|C/S开发框架
测试FileController文件控制器 | CSFramework.WebApi后端框架|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
