Looky Looky whats built in but not exposed:
string FunctionID = (string)this.GetType().GetProperty("FunctionID", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).GetGetMethod(nonPublic: true).Invoke(this, null);
Edit, gonna have to make an Epicor Idea for them to expose that.
Pain in the ass for logging.