MYSM.Logger.OpenSDK

OpenSDK是用于将日志接入到服务云平台的工具类库

特点

  • 支持Framework3.5、Framework4.5
  • 无需关心数据传输和数据展示分析,只需要调用记录日志即可
  • 支持云端应用和分离部署在本地环境的本地应用
  • 无任何性能影响
  • 项目或者产品排查问题可以灵活的扩展日志采集 更新之后在服务云日志平台就可以直接使用

使用说明

  1. 记录日志前必须调用Init静态方法进行初始化,初始化动作只有第一次会成功 多次注册后面的注册结果将直接返回false
  2. 日志记录TxLogger和TxSaaSLogger 两个只能选择一个在应用中使用不能两种均使用 TxLogger适用于本地部署的环境并且安装了天象监控客户端的环境 TxSaaSLogger适用于云端的应用
  3. 使用TxSaasLogger时需要保证环境的网络可以访问 https://zenith.fdcyun.com 使用TxLogger时不用关注网络只需要安装了运维天象客户端监控并正常使用即可
  4. 通过TxLogger.Get()或者TxSaaSLogger.Get() 方法拿到写入值的对象 需要判断对象是否为空 为空表示未初始化
  5. 一条日志的产生时已Start方法开始到Fininsh方法结束 这之间调用的SetXX方法均未记录成日志标签
  6. 注意尽量控制一条日志的大小在1M以下
  7. 日志中不要记录和业务系统相关的敏感信息(例如金额等)
  8. 初始化应用时必须给定应用的中文名称,若有版本尽量将版本信息注册到扩展字段中(方便运维提供智能聚合展示 后续会支持)

原理

原理 原理

存储日志建议

建议 建议

基础示例

  1. git clone本项目最新源码使用;或者NuGet安装(后续会提供)
  1. 参考以下例子实现 ``` C# Dictionary tags = new Dictionary
         {
             { "env", "prod" },{ "product","销售305"}
         };
    
    TxLogger.Init("ERP", "V1.0.SP5", tags); Test t = new Test(); TxLogger.Get().Start("test").SetTag("string", "我是一个字符串标记")
             .SetTag("object tag", new object())
             .SetTag(new Exception())
             .SetTag(new List<KeyValuePair<string, string>>() { new KeyValuePair<string, string>() })
             .SetTag(new Dictionary<string, string>() { { "3", "4" } })
             .SetTagProperty(t)
             .SetTagProperty<TestAttribute>(t, true)
             .Finish();
    

//模拟使用测试使用的

public class TestAttribute : Attribute {

}

public class Test
{
    [Test]
    public string Name { set; get; } = "1";

    [Test]
    public string Name1 { set; get; } = "1";
    [Test]
    public string Name2 { set; get; } = "1";
    [Test]
    public string Name3 { set; get; } = "1";

    [Test]
    public string Name4 { set; get; } = "1";
    [Test]
    public string Name5 { set; get; } = "1";
    [Test]
    public string Name6 { set; get; } = "1";
    [Test]
    public string Name7 { set; get; } = "1";
}

```