예제 #1
0
        protected internal override void Write(Datum aggregatedDatum, object batchContext, object typeContext)
        {
            var batchDict = batchContext as Dictionary <string, object>;
            var typeDict  = typeContext as Dictionary <string, object>;

            lock (m_Providers)
                foreach (var provider in m_Providers)
                {
                    try
                    {
                        object providerBatchContext = null;
                        if (batchDict != null)
                        {
                            batchDict.TryGetValue(provider.Name, out providerBatchContext);
                        }
                        object providerTypeContext = null;
                        if (typeDict != null)
                        {
                            typeDict.TryGetValue(provider.Name, out providerTypeContext);
                        }
                        provider.Write(aggregatedDatum, providerBatchContext, providerTypeContext);
                    }
                    catch (Exception error)
                    {
                        ComponentDirector.WriteLog(MessageType.Error, GetType().Name + ".Write", error.ToMessageWithType(), error);
                    }
                }
        }
예제 #2
0
 internal void log(MessageType type, string from, string text, Exception error = null, Guid?related = null)
 {
     ComponentDirector.WriteLog(type, "ManagedApp({0}).{1}".Args(Name, from), text, error, related);
 }