|  | 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); | 
|  | } | 
|  | } |