using System;
using System.IO;
using System.Net;
using System.Text;
using System.Threading;
using System.Collections.Generic;
using Newtonsoft.Json;
using System.IO.Compression;
using System.Timers;
using Newtonsoft.Json.Converters;
using Timer = System.Timers.Timer;
using Sog;
using Sog.Log;
namespace ThinkingData.Analytics
{
///
/// 我们的消费类
/// 这就是套个壳,让taSDK调用,文件写入调用我们自身的日志写入流
///
public class SogConsumer : IConsumer
{
private readonly IsoDateTimeConverter _timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss.fff" };
private readonly MyJsonDataConverter _jsonDataConverter = new MyJsonDataConverter();
public void Send(Dictionary message)
{
string sendingData;
try
{
sendingData = JsonConvert.SerializeObject(message, _timeConverter, _jsonDataConverter);
}
catch(Exception ex)
{
//TraceLog.Exception(ex);
throw;
}
if(string.IsNullOrEmpty(sendingData))
{
return;
}
string event_name = null;
if(message.ContainsKey("#event_name"))
{
event_name = message["#event_name"] as string;
}
BillLogWriter.Instance.SendTAToBillLogSvr(0, sendingData, event_name);
}
public void Flush()
{
}
public void Close()
{
}
}
}