New file |
| | |
| | | using System; |
| | | using Android.Content; |
| | | using Com.Aliyun.Sls.Android.Producer; |
| | | |
| | | namespace HDL_ON_Android.Aliyu |
| | | { |
| | | public class AliyuLogUtil |
| | | { |
| | | private static AliyuLogProducerClient exceptionProducerClient; |
| | | private static LogBean logBean; |
| | | |
| | | private static AliyuLogProducerClient getExceptionProducerClient() |
| | | { |
| | | lock (exceptionProducerClient) |
| | | { |
| | | if (exceptionProducerClient == null) |
| | | { |
| | | if (Shared.Application.Activity == null) { |
| | | return null; |
| | | } |
| | | exceptionProducerClient = new AliyuLogProducerClient(Shared.Application.Activity, "https://cn-hangzhou.log.aliyuncs.com", "log", "event_tracking", "LTAI5tLzDxrtsFyi3xtK3YWt", "eX31JZrRAvC2wZWPiZU0SYhlfAUMoT", null, null); |
| | | exceptionProducerClient.initProducer(); |
| | | } |
| | | return exceptionProducerClient; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 异常日志 |
| | | * |
| | | * @param title 标题 |
| | | * @param content 附加数据内容 |
| | | * @param level 报警等级 |
| | | */ |
| | | public static void log(string title, string content, Level level) |
| | | { |
| | | log(title, content, level, null); |
| | | } |
| | | /** |
| | | * 异常日志 |
| | | * |
| | | * @param title 标题 |
| | | * @param content 附加数据内容 |
| | | * @param otherMsg 其他附加数据,没有可为空 |
| | | * @param level 报警等级 |
| | | * @param type 异常类型 |
| | | */ |
| | | public static void log(string title, string content, Level level, string type) |
| | | { |
| | | log(title, content, level, null, null); |
| | | } |
| | | /** |
| | | * 异常日志 |
| | | * |
| | | * @param title 标题 |
| | | * @param content 附加数据内容 |
| | | * @param otherMsg 其他附加数据,没有可为空 |
| | | * @param level 报警等级 |
| | | * @param type 异常类型 |
| | | * @param exceptionBlock 异常代码块 |
| | | */ |
| | | public static void log(string title, string content, Level level, string type, string exceptionBlock) |
| | | { |
| | | /** |
| | | * 没有homeId和userId 不允许上传 只上传住宅里面的异常 减少云端压力 |
| | | * 1.点击项目的时候设置 |
| | | * 2.关闭住宅页面的时候去掉 |
| | | */ |
| | | if (string.IsNullOrEmpty(getLogBean.getUserId()) || string.IsNullOrEmpty(getLogBean.getHomeId())) |
| | | { |
| | | return; |
| | | } |
| | | Log log = new Log(); |
| | | log.PutContent("title", title); |
| | | log.PutContent("content", content); |
| | | log.PutContent("level", level.ToString()); |
| | | log.PutContent("userId", getLogBean.getUserId()); |
| | | log.PutContent("homeId", getLogBean.getHomeId()); |
| | | log.PutContent("time", System.DateTime.UtcNow + ""); |
| | | log.PutContent("userAgent", getLogBean.getUserAgent()); |
| | | log.PutContent("appVersion", getLogBean.getAppVersion()); |
| | | log.PutContent("type", type); |
| | | log.PutContent("exceptionBlock", exceptionBlock); |
| | | |
| | | var producerClient = getExceptionProducerClient(); |
| | | if (producerClient == null) |
| | | { |
| | | return; |
| | | } |
| | | producerClient.sendLog(log); |
| | | |
| | | } |
| | | |
| | | public static LogBean getLogBean |
| | | { |
| | | get { |
| | | if (logBean == null) { |
| | | logBean = new LogBean(); |
| | | } |
| | | return logBean; |
| | | } |
| | | } |
| | | } |
| | | } |