ILogger.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using GreenTree.Nachtragsmanagement.Core;
  2. using GreenTree.Nachtragsmanagement.Core.Domain.Logging;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace GreenTree.Nachtragsmanagement.Services.Logging
  9. {
  10. public interface ILogger
  11. {
  12. /// <summary>
  13. /// Determines whether a log level is enabled
  14. /// </summary>
  15. /// <param name="level">Log level</param>
  16. bool IsEnabled(LogLevel level);
  17. /// <summary>
  18. /// Deletes a log item
  19. /// </summary>
  20. /// <param name="log">Log item</param>
  21. void DeleteLog(Log log);
  22. /// <summary>
  23. /// Clears a log
  24. /// </summary>
  25. void ClearLog();
  26. /// <summary>
  27. /// Gets all log items
  28. /// </summary>
  29. /// <param name="fromUtc">Log item creation from; null to load all records</param>
  30. /// <param name="toUtc">Log item creation to; null to load all records</param>
  31. /// <param name="message">Message</param>
  32. /// <param name="logLevel">Log level; null to load all records</param>
  33. /// <param name="pageIndex">Page index</param>
  34. /// <param name="pageSize">Page size</param>
  35. /// <returns>Log item collection</returns>
  36. IList<Log> GetAllLogs(DateTime? fromUtc, DateTime? toUtc,
  37. string message, LogLevel? logLevel, int pageIndex, int pageSize);
  38. /// <summary>
  39. /// Gets a log item
  40. /// </summary>
  41. /// <param name="logId">Log item identifier</param>
  42. /// <returns>Log item</returns>
  43. Log GetLogById(int logId);
  44. /// <summary>
  45. /// Get log items by identifiers
  46. /// </summary>
  47. /// <param name="logIds">Log item identifiers</param>
  48. /// <returns>Log items</returns>
  49. IList<Log> GetLogByIds(int[] logIds);
  50. /// <summary>
  51. /// Inserts a log item
  52. /// </summary>
  53. /// <param name="logLevel">Log level</param>
  54. /// <param name="shortMessage">The short message</param>
  55. /// <param name="fullMessage">The full message</param>
  56. /// <param name="user">The user to associate log record with</param>
  57. /// <returns>A log item</returns>
  58. Log InsertLog(LogLevel logLevel, string shortMessage, BaseEntity entity = null, string fullMessage = "",
  59. Core.Domain.User.User user = null);
  60. }
  61. }