/// <summary> /// 操作日志 /// </summary> public OperationLogHandler(HttpRequest httpRequest) : base("OperateLogToDatabase") { var request = HttpContexts.Current.Request; log = new OperateLog() { Id = CombUtil.NewComb(), CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), ServerHost = $"{IpBrowserUtil.GetServerHost()}【{IpBrowserUtil.GetServerHostIp()}】", ClientHost = $"{IpBrowserUtil.GetClientIp()}", RequestContentLength = httpRequest.ContentLength == null ? 0 : (int)httpRequest.ContentLength, RequestType = request.Method, UserAgent = request.Headers[HeaderNames.UserAgent] }; if (request.Method.ToLower() == "post") { var Result = httpRequest.Form; log.RequestData = httpRequest.Form.ToJson(); } else { log.RequestData = HttpUtility.UrlDecode(new StreamReader(httpRequest.Body).ReadToEnd()); } log.Url = new StringBuilder() .Append(request.Scheme) .Append("://") .Append(request.Host) .Append(request.PathBase) .Append(request.Path) .Append(request.QueryString) .ToString(); log.UrlReferrer = httpRequest.Headers[HeaderNames.Referer]; }
/// <summary> /// 构造函数 /// </summary> /// <param name="exception"></param> public ExceptionLogHandler(Exception exception) : base("ExceptionLogToDatabase") { PrincipalUser principalUser = new PrincipalUser(); var current = HttpContexts.Current; if (current != null) { principalUser = AuthenticationExtension.Current(); } if (principalUser == null) { principalUser = new PrincipalUser() { Name = "匿名用户", UserId = Guid.Empty }; } log = new ExceptionLog() { ExceptionLogId = CombUtil.NewComb().ToString(), CreateUserCode = principalUser.Code, CreateUserId = principalUser.UserId.ToString(), CreateUserName = principalUser.Name, ServerHost = $"{IpBrowserUtil.GetServerHost()}【{IpBrowserUtil.GetServerHostIp()}】", ClientHost = $"{IpBrowserUtil.GetClientIp()}", Runtime = "Web", CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Message = exception.Message, StackTrace = exception.StackTrace, ExceptionType = exception.GetType().FullName, ClientAddress = IpBrowserUtil.GetAddressByApi() }; //获取服务器信息 var request = HttpContexts.Current.Request; log.RequestUrl = request.Path; log.HttpMethod = request.Method; log.UserAgent = request.Headers["user-agent"]; log.InnerException = exception.InnerException != null?GetExceptionFullMessage(exception.InnerException) : ""; if (request.Method.ToLower() == "post") { log.RequestData = request.Form.ToJson(); } else { if (request.Body.CanSeek) { log.RequestData = HttpUtility.UrlDecode(new StreamReader(request.Body).ReadToEnd()); } } }
public LoginLogHandler(string userId, string code, string userName, int loginStatus) : base("LoginLogToDatabase") { log = new LoginLog { Id = CombUtil.NewComb(), CreateUserId = userId, CreateUserCode = code ?? "", ServerHost = $"{IpBrowserUtil.GetServerHost()}【{IpBrowserUtil.GetServerHostIp()}】", ClientHost = $"{IpBrowserUtil.GetClientIp()}", UserAgent = IpBrowserUtil.GetBrowser(), OsVersion = IpBrowserUtil.GetOsVersion(), LoginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), IpAddressName = IpBrowserUtil.GetAddressByApi(), CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), CreateUserName = userName, LoginStatus = loginStatus }; }
/// <summary> /// 操作日志 /// </summary> public OperationLogHandler(HttpRequest httpRequest) : base("OperateLogToDatabase") { var request = HttpContexts.Current.Request; log = new OperateLog() { Id = CombUtil.NewComb(), CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), ServerHost = String.Format("{0}【{1}】", IpBrowserUtil.GetServerHost(), IpBrowserUtil.GetServerHostIp()), ClientHost = String.Format("{0}", IpBrowserUtil.GetClientIp()), RequestContentLength = httpRequest.ContentLength == null ? 0 : (int)httpRequest.ContentLength, RequestType = request.Method, UserAgent = request.Headers[HeaderNames.UserAgent] }; if (request?.HasFormContentType ?? request.HasFormContentType) { log.RequestData = request?.Form?.ToJson(); } else { if (request.Body.CanSeek) { log.RequestData = HttpUtility.UrlDecode(new StreamReader(request?.Body).ReadToEnd()); } //if (request?.Body != null) //{ // log.RequestData = HttpUtility.UrlDecode(new StreamReader(request?.Body).ReadToEnd()); //} //else if (request?.Form != null) //{ // log.RequestData = request?.Form?.ToJson(); //} } log.Url = new StringBuilder() .Append(request.Scheme) .Append("://") .Append(request.Host) .Append(request.PathBase) .Append(request.Path) .Append(request.QueryString) .ToString(); log.UrlReferrer = httpRequest.Headers[HeaderNames.Referer]; }
/// <summary> /// 操作日志 /// </summary> /// <param name="httpRequestBase"></param> public OperationLogHandler(HttpRequestBase httpRequestBase) : base("OperateLogToDatabase") { var request = HttpContext.Current.Request; log = new OperateLog() { CreateTime = DateTime.Now, ServerHost = String.Format("{0}【{1}】", IpBrowserUtil.GetServerHost(), IpBrowserUtil.GetServerHostIp()), ClientHost = String.Format("{0}", IpBrowserUtil.GetClientIp()), RequestContentLength = httpRequestBase.ContentLength, RequestType = httpRequestBase.RequestType, UserAgent = httpRequestBase.UserAgent }; var inputStream = request.InputStream; var streamReader = new StreamReader(inputStream); var requestData = HttpUtility.UrlDecode(streamReader.ReadToEnd()); log.RequestData = requestData; if (httpRequestBase.Url != null) { log.Url = httpRequestBase.Url.ToString(); } if (httpRequestBase.UrlReferrer != null) { log.UrlReferrer = httpRequestBase.UrlReferrer.ToString(); } }
/// <summary> /// 构造函数 /// </summary> /// <param name="loginLogId">登录Id</param> public LoginLogHandler(Guid loginLogId) : base("LoginLogToDatabase") { PrincipalUser principalUser = new PrincipalUser { Name = "匿名用户", UserId = Guid.Empty }; var current = HttpContext.Current; if (current != null) { principalUser = FormAuthenticationExtension.Current(HttpContext.Current.Request); } if (principalUser == null) { principalUser = new PrincipalUser() { Name = "匿名用户", UserId = Guid.Empty }; } var request = HttpContext.Current.Request; log = new LoginLog { LoginLogId = loginLogId, CreateUserId = principalUser.UserId, CreateUserCode = principalUser.Code ?? "", CreateUserName = principalUser.Name, ServerHost = String.Format("{0}【{1}】", IpBrowserUtil.GetServerHost(), IpBrowserUtil.GetServerHostIp()), ClientHost = String.Format("{0}", IpBrowserUtil.GetClientIp()), UserAgent = request.Browser.Browser + "【" + request.Browser.Version + "】", OsVersion = IpBrowserUtil.GetOsVersion(), LoginTime = DateTime.Now, IpAddressName = IpBrowserUtil.GetAddressByApi() }; //根据提供的api接口获取登录物理地址:http://whois.pconline.com.cn/ }
/// <summary> /// 构造函数 /// </summary> /// <param name="exception">错误信息</param> public ExceptionLogHandler(Exception exception) : base("ExceptionLogToDatabase") { PrincipalUser principalUser = new PrincipalUser { Name = "匿名用户", UserId = Guid.Empty }; var current = HttpContext.Current; if (current != null) { principalUser = FormAuthenticationExtension.Current(HttpContext.Current.Request); } if (principalUser == null) { principalUser = new PrincipalUser() { Name = "匿名用户", UserId = Guid.Empty }; } log = new ExceptionLog { CreateTime = DateTime.Now, Message = exception.Message, StackTrace = exception.StackTrace, ExceptionType = exception.GetType().FullName, CreateUserCode = principalUser.Code, CreateUserName = principalUser.Name, ServerHost = String.Format("{0}【{1}】", IpBrowserUtil.GetServerHost(), IpBrowserUtil.GetServerHostIp()), ClientHost = String.Format("{0}", IpBrowserUtil.GetClientIp()), Runtime = "Web" }; //获取服务器信息 var request = HttpContext.Current.Request; log.RequestUrl = string.Format("{0} ", request.Url); log.HttpMethod = request.HttpMethod; log.UserAgent = request.UserAgent; var inputStream = request.InputStream; var streamReader = new StreamReader(inputStream); var requestData = HttpUtility.UrlDecode(streamReader.ReadToEnd()); log.RequestData = requestData; log.InnerException = exception.InnerException != null?GetExceptionFullMessage(exception.InnerException) : ""; }
public LoginLogHandler(string UserId, string Code, string UserName, int LoginStatus) : base("LoginLogToDatabase") { log = new LoginLog { LoginLogId = CombUtil.NewComb().ToString(), CreateUserId = UserId, CreateUserCode = Code ?? "", ServerHost = String.Format("{0}【{1}】", IpBrowserUtil.GetServerHost(), IpBrowserUtil.GetServerHostIp()), ClientHost = String.Format("{0}", IpBrowserUtil.GetClientIp()), UserAgent = IpBrowserUtil.GetBrowser(), OsVersion = IpBrowserUtil.GetOsVersion(), LoginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), IpAddressName = IpBrowserUtil.GetAddressByApi(), CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), CreateUserName = UserName, LoginStatus = LoginStatus }; }