SystemLog.java 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package com.simuwang.logging;
  2. import java.lang.annotation.*;
  3. /**
  4. * 系统操作日志注解,必须标注在方法上,当类上也被标注时,只取value作为上级模块名
  5. *
  6. * @author fpwag
  7. */
  8. @Target(value = {ElementType.TYPE, ElementType.METHOD})
  9. @Retention(value = RetentionPolicy.RUNTIME)
  10. @Documented
  11. public @interface SystemLog {
  12. /**
  13. * 描述
  14. */
  15. String value();
  16. /**
  17. * 日志类型
  18. */
  19. Type type() default Type.QUERY;
  20. /**
  21. * 是否保存接口返回结果,默认不保存
  22. *
  23. * @return /
  24. */
  25. boolean saveResult() default false;
  26. /**
  27. * 日志类型
  28. */
  29. enum Type {
  30. /**
  31. * 查询
  32. */
  33. QUERY(1),
  34. /**
  35. * 新增
  36. */
  37. INSERT(2),
  38. /**
  39. * 修改
  40. */
  41. UPDATE(3),
  42. /**
  43. * 删除
  44. */
  45. DELETE(5),
  46. /**
  47. * 登录
  48. */
  49. LOGIN(6),
  50. /**
  51. * 退出登录
  52. */
  53. LOGOUT(7),
  54. /**
  55. * 导入
  56. */
  57. IMPORT(8),
  58. /**
  59. * 导出
  60. */
  61. EXPORT(9),
  62. /**
  63. * 其他
  64. */
  65. OTHER(0);
  66. private final int value;
  67. Type(int value) {
  68. this.value = value;
  69. }
  70. public int getValue() {
  71. return this.value;
  72. }
  73. }
  74. }