Skip to content

Instantly share code, notes, and snippets.

@tdcbm
Last active March 15, 2019 08:44
Show Gist options
  • Save tdcbm/35b7336a9baf6500e6dca53c565a4e92 to your computer and use it in GitHub Desktop.
Save tdcbm/35b7336a9baf6500e6dca53c565a4e92 to your computer and use it in GitHub Desktop.
Epicor TraceLog
//Taken from https://e10help.com/t/how-to-write-your-own-trace-logs/44613/7
Epicor.Hosting.Trace.ServerLog.WriteTraceMessage(
"trace://ice/mytrace",
"TraceCategoryLabel",
() => "Some Text"
);
Epicor.Hosting.Trace.ServerLog.WriteTimedEntry(
"trace://ice/mytrace",
"TimedTraceLabel",
() => DoSomethingToBeTimed(),
() => "Some Message"
);
try
{
//Do Something that goes boom
}
catch (Exception ex)
{
Epicor.Hosting.Trace.ServerLog.WriteNonOperationException(ex);
throw ex;
}
/*
Setting AppServer.config:
<configuration>
<Trace
disabled="true"
verbose="true"
logLocation="ServerLog.txt"
maxLogFileSize="10mb"
logCount="0">
*/
var enableLog = true;
Action<string> Log = (string msg) => { if(enableLog) {
msg += string.Format(" Current User={0}. Log time={1}", Session.UserID, DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ssZ"));
Epicor.Hosting.Trace.ServerLog.WriteTraceMessage("trace://ice/mytrace", "EpicorLog", () => msg);
}};
Action<object> LogObject = (object obj) => {
using(var sww = new System.IO.StringWriter())
{
using(var writer = new System.Xml.XmlTextWriter(sww) /*{ Formatting = System.Xml.Formatting.Indented }*/)
{
var xsSubmit = new System.Xml.Serialization.XmlSerializer(obj.GetType());
var ns = new System.Xml.Serialization.XmlSerializerNamespaces();
ns.Add("", "");// add empty namespace
xsSubmit.Serialize(writer, obj, ns);
TraceLog(sww.ToString());
}
}
};
Log.Invoke("Sebelum masuk ke jobDtlQuery");
Log.Invoke(string.Format("Value: {0}", value));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment