| using System; |
| |
| namespace OfficeOpenXml.FormulaParsing.Logging; |
| |
| /// <summary> |
| /// Used for logging during FormulaParsing |
| /// </summary> |
| public interface IFormulaParserLogger : IDisposable { |
| /// <summary> |
| /// Called each time an exception occurs during formula parsing. |
| /// </summary> |
| /// <param name="context"></param> |
| /// <param name="ex"></param> |
| void Log(ParsingContext context, Exception ex); |
| |
| /// <summary> |
| /// Called each time information should be logged during formula parsing. |
| /// </summary> |
| /// <param name="context"></param> |
| /// <param name="message"></param> |
| void Log(ParsingContext context, string message); |
| |
| /// <summary> |
| /// Called to log a message outside the parsing context. |
| /// </summary> |
| /// <param name="message"></param> |
| void Log(string message); |
| |
| /// <summary> |
| /// Called each time a cell within the calc chain is accessed during formula parsing. |
| /// </summary> |
| void LogCellCounted(); |
| |
| /// <summary> |
| /// Called each time a function is called during formula parsing. |
| /// </summary> |
| /// <param name="func"></param> |
| void LogFunction(string func); |
| |
| /// <summary> |
| /// Some functions measure performance, if so this function will be called. |
| /// </summary> |
| /// <param name="func"></param> |
| /// <param name="milliseconds"></param> |
| void LogFunction(string func, long milliseconds); |
| } |