.NET Core 集成Exceptionless

章目录
一、使用步骤
1.免费账号
2.登录并创建项目
3. 获得属于这个项目的API密钥
4. 安装nuget包
5. 创建一个类库,方便后期公用方法统一封装,结构如下
6. 封装一个接口和一个实现类
7. StudyCore项目下的Startup类修改
8. Jmeter运行测试
一、使用步骤
1.免费账号


2.登录并创建项目

1.选择类型,会提示你需要安装的包和怎么使用

3. 获得属于这个项目的API密钥


4. 安装nuget包
代码:

 Install-Package Exceptionless.AspNetCore
1
5. 创建一个类库,方便后期公用方法统一封装,结构如下


6. 封装一个接口和一个实现类
ILogger代码:

  public interface ILogger
    {
        void Trace(string message, params string[] args);
        void Debug(string message, params string[] args);
        void Info(string message, params string[] args);
        void Warn(string message, params string[] args);
        void Error(string message, params string[] args);
    }
1
2
3
4
5
6
7
8
ExceptionLessLogger代码:

public class ExceptionLessLogger : ILogger
    {
        /// <summary>
        /// Trace
        /// </summary>
        public void Trace(string message, params string[] tags)
        {
            ExceptionlessClient.Default.CreateLog(message, LogLevel.Trace).AddTags(tags).Submit();
        }

        /// <summary>
        /// Debug
        /// </summary>
        public void Debug(string message, params string[] tags)
        {
            ExceptionlessClient.Default.CreateLog(message, LogLevel.Debug).AddTags(tags).Submit();
        }

        /// <summary>
        /// Info
        /// </summary>
        public void Info(string message, params string[] tags)
        {
            ExceptionlessClient.Default.CreateLog(message, LogLevel.Info).AddTags(tags).Submit();
        }

        /// <summary>
        /// Warn
        /// </summary>
        public void Warn(string message, params string[] tags)
        {
            ExceptionlessClient.Default.CreateLog(message, LogLevel.Warn).AddTags(tags).Submit();
        }

        /// <summary>
        /// Error
        /// </summary>
        public void Error(string message, params string[] tags)
        {
            ExceptionlessClient.Default.CreateLog(message, LogLevel.Error).AddTags(tags).Submit();
        }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
7. StudyCore项目下的Startup类修改
Startup代码:

  // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            //注入接口,方便后期的调用
            services.AddSingleton(typeof(CommonTool.Service.ILogger), typeof(ExceptionLessLogger));
        }
1
2
3
4
5
6
7
WeatherForecastController调用代码:

 public class WeatherForecastController : ControllerBase
    {
        private static readonly string[] Summaries = new[]
        {
            "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
        };

        private readonly ILogger<WeatherForecastController> _logger;
        public CommonTool.Service.ILogger Logger { get; }
        //构造函数注入
        private readonly InterfaceTest _efserver;
        public WeatherForecastController(InterfaceTest efserver,ILogger<WeatherForecastController> logger, CommonTool.Service.ILogger loggerex)
        {
            _logger = logger;
            _efserver = efserver;
            Logger = loggerex;
        }

        [HttpGet]
        public IEnumerable<WeatherForecast> Get()
        {
            var rng = new Random();
            _logger.LogInformation("asdadsadsa");
            return Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateTime.Now.AddDays(index),
                TemperatureC = rng.Next(-20, 55),
                Summary = Summaries[rng.Next(Summaries.Length)]
            })
            .ToArray();
        }
        [HttpGet]
        [Route("Gets")]
        public async Task<string> Gets()
        {

            try
            {
                throw new Exception();
            }
            catch (Exception ex)
            {
                ex.ToExceptionless().Submit();
            }
            _logger.LogInformation(string.Format("Gets方法调用了"));
            _logger.LogWarning(string.Format("Gets方法调用了"));
            _logger.LogError(string.Format("Gets方法调用了"));
            _logger.LogDebug(string.Format("Gets方法调用了"));
            Logger.Trace($"User Login Successfully. Time:{DateTime.Now.ToString()}", "Tag1", "Tag2");
            Logger.Debug($"User Login Successfully. Time:{DateTime.Now.ToString()}", "Tag1", "Tag2");
            Logger.Info($"User Login Successfully. Time:{DateTime.Now.ToString()}", "Tag1", "Tag2");
            Logger.Warn($"User Login Successfully. Time:{DateTime.Now.ToString()}", "Tag1", "Tag2");
            Logger.Error($"User Login Successfully. Time:{DateTime.Now.ToString()}", "Tag1", "Tag2");
            return await _efserver.HelloWord();
        }
    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
8. Jmeter运行测试

————————————————

原文链接:https://blog.csdn.net/qq_36819973/article/details/108737038

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值