146 lines
5.1 KiB
C#
146 lines
5.1 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data.SqlClient;
|
||
using System.Data;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace MisDataSaveDate.Helper
|
||
{
|
||
/// <summary>
|
||
/// MES系统日志类型枚举
|
||
/// </summary>
|
||
public enum MesLogType
|
||
{
|
||
/// <summary>
|
||
/// 信息日志
|
||
/// </summary>
|
||
INFO,
|
||
/// <summary>
|
||
/// 警告日志
|
||
/// </summary>
|
||
WARNING,
|
||
/// <summary>
|
||
/// 错误日志
|
||
/// </summary>
|
||
ERROR
|
||
}
|
||
public class ApiLogHelper
|
||
{
|
||
/// <summary>
|
||
/// 验证属性值是否有效
|
||
/// </summary>
|
||
/// <param name="value"></param>
|
||
/// <param name="fieldName"></param>
|
||
/// <param name="errorMessage"></param>
|
||
/// <returns></returns>
|
||
public static bool ValidateProperty(object value, string fieldName, out string errorMessage)
|
||
{
|
||
if (value == null || value.ToString() == "")
|
||
{
|
||
errorMessage = $"参数{fieldName}值格式不正确";
|
||
return false;
|
||
}
|
||
|
||
errorMessage = string.Empty; // 无错误
|
||
return true;
|
||
}
|
||
/// <summary>
|
||
/// 非必填项Null值处理
|
||
/// </summary>
|
||
/// <param name="value"></param>
|
||
/// <param name="fieldName"></param>
|
||
/// <param name="errorMessage"></param>
|
||
/// <returns></returns>
|
||
public static string VHandle(string value)
|
||
{
|
||
return value == null ? "" : value;
|
||
}
|
||
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
/// <param name="url"></param>
|
||
/// <param name="type">1. 主动调用接口 2. 被调用接口 </param>
|
||
/// <param name="context"></param>
|
||
/// <param name="AID"></param>
|
||
/// <param name="errorMessage"></param>
|
||
public static void SaveLog_Interface_Request(string url, int type, string context, out int AID)
|
||
{
|
||
//存储日志
|
||
var CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||
var param1 = new SqlParameter[] {
|
||
new SqlParameter("@接口地址",url),
|
||
new SqlParameter("@接口类型",type),
|
||
new SqlParameter("@请求内容",context),
|
||
new SqlParameter("@请求时间",CreateTime)
|
||
};
|
||
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("接口_IOT接口交互日志_请求记录", ref param1, out DataTable dt, out string errorMessage);
|
||
AID = int.Parse(dt.Rows[0][0].ToString());
|
||
}
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
/// <param name="context"></param>
|
||
/// <param name="AID"></param>
|
||
public static void SaveLog_Interface_Response(string context, int AID)
|
||
{
|
||
//存储日志
|
||
var CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||
//Event_MOM_Log_Insert,@创建时间,@内容
|
||
var param1 = new SqlParameter[] {
|
||
new SqlParameter("@响应时间",CreateTime),
|
||
new SqlParameter("@响应内容",context),
|
||
new SqlParameter("@AID",AID)
|
||
};
|
||
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("接口_IOT接口交互日志_响应记录", ref param1, out string errorMessage);
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 保存MES系统日志到数据库
|
||
/// </summary>
|
||
/// <param name="opName">工位号/模块名称</param>
|
||
/// <param name="logText">日志内容</param>
|
||
/// <param name="logType">日志类型:INFO/WARNING/ERROR</param>
|
||
public static void SaveMesLog(string opName, string logText, MesLogType logType = MesLogType.INFO)
|
||
{
|
||
string logTypeStr = logType.ToString();
|
||
var param1 = new SqlParameter[] {
|
||
new SqlParameter("@工位号", opName),
|
||
new SqlParameter("@日志类型", logTypeStr),
|
||
new SqlParameter("@日志文本", logText),
|
||
};
|
||
|
||
try
|
||
{
|
||
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MES_系统日志_增加", ref param1, out DataTable dt, out string errorMessage);
|
||
|
||
// 同时记录到Log4Net
|
||
if (logType == MesLogType.ERROR)
|
||
{
|
||
MyLog4Net.MyLogHelper.Error("MesLog", $"[{opName}] {logText}");
|
||
}
|
||
else if (logType == MesLogType.WARNING)
|
||
{
|
||
MyLog4Net.MyLogHelper.Error("MesLog", $"[{opName}] {logText}");
|
||
}
|
||
else
|
||
{
|
||
MyLog4Net.MyLogHelper.Info("MesLog", $"[{opName}] {logText}");
|
||
}
|
||
|
||
if (!string.IsNullOrEmpty(errorMessage))
|
||
{
|
||
MyLog4Net.MyLogHelper.Error("SaveMesLog", $"保存日志到数据库失败:{errorMessage}");
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MyLog4Net.MyLogHelper.Error("SaveMesLog", $"保存日志异常:{ex.Message}");
|
||
}
|
||
}
|
||
}
|
||
}
|