LogUtil.java 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. /**
  2. * bobotuan.com Inc.
  3. * Copyright (c) 2004-2015 All Rights Reserved.
  4. */
  5. package com.qs.mp.common.utils;
  6. import com.qs.mp.common.enums.ServerEnvEnum;
  7. import org.slf4j.Logger;
  8. import org.springframework.beans.factory.annotation.Value;
  9. import org.springframework.stereotype.Component;
  10. /**
  11. * 日志
  12. *
  13. * @author chunping.zhongcp
  14. * @version $Id: LogUtil.java, v 0.1 2020/5/21 chunping.zhongcp Exp $
  15. */
  16. @Component
  17. public class LogUtil {
  18. private static String env;
  19. @Value(value = "${server.env}")
  20. public void setEnv(String serverEnv) {
  21. env = serverEnv;
  22. }
  23. /**
  24. * 打印debug日志
  25. *
  26. * @param logger
  27. * @param message
  28. */
  29. public static void debug(final Logger logger, final String message) {
  30. debug(logger, message, null);
  31. }
  32. /**
  33. * 打印debug日志
  34. *
  35. * @param logger
  36. * @param message
  37. * @param params
  38. */
  39. public static void debug(final Logger logger, final String message, final Object... params) {
  40. if (logger != null) {
  41. if (logger.isDebugEnabled()) {
  42. logger.debug(getLogString(message, params));
  43. }
  44. }
  45. }
  46. /**
  47. * 打印info日志
  48. *
  49. * @param logger 日志对象
  50. * @param message 需要打印的消息
  51. */
  52. public static void info(final Logger logger, final String message) {
  53. info(logger, message, null);
  54. }
  55. /**
  56. * 打印info日志
  57. *
  58. * @param logger
  59. * @param message
  60. * @param params
  61. */
  62. public static void info(final Logger logger, final String message, final Object... params) {
  63. if (logger != null) {
  64. if (logger.isInfoEnabled()) {
  65. logger.info(getLogString(message, params));
  66. }
  67. }
  68. }
  69. /**
  70. * 打印info日志
  71. *
  72. * @param logger
  73. * @param message
  74. * @param params
  75. */
  76. public static void log(final Logger logger, final String message, final Object... params) {
  77. if (logger != null) {
  78. if (logger.isInfoEnabled()) {
  79. logger.info(logString(message, params));
  80. }
  81. }
  82. }
  83. /**
  84. * 打印warn日志
  85. *
  86. * @param logger 日志对象
  87. * @param message 需要打印的消息
  88. */
  89. public static void warn(final Logger logger, final String message) {
  90. warn(logger, message, null);
  91. }
  92. /**
  93. * 打印warn日志
  94. *
  95. * @param logger
  96. * @param message
  97. * @param params
  98. */
  99. public static void warn(final Logger logger, final String message, final Object... params) {
  100. if (logger != null) {
  101. if (logger.isWarnEnabled()) {
  102. logger.warn(getLogString(message, params));
  103. }
  104. }
  105. }
  106. /**
  107. * 打印warn日志
  108. *
  109. * @param logger 日志对象
  110. * @param message 需要打印的消息
  111. */
  112. public static void warn(final Logger logger, final Throwable throwable, final String message) {
  113. warn(logger, throwable, message, null);
  114. }
  115. /**
  116. * 打印warn日志
  117. *
  118. * @param logger
  119. * @param throwable
  120. * @param message
  121. * @param params
  122. */
  123. public static void warn(final Logger logger, final Throwable throwable, final String message,
  124. final Object... params) {
  125. if (logger != null) {
  126. if (logger.isWarnEnabled()) {
  127. logger.warn(getLogString(message, params), throwable);
  128. }
  129. }
  130. }
  131. /**
  132. * 打印error日志
  133. *
  134. * @param logger
  135. * @param message
  136. */
  137. public static void error(final Logger logger, final String message) {
  138. error(logger, message, null);
  139. }
  140. /**
  141. * 打印error日志
  142. *
  143. * @param logger
  144. * @param message
  145. * @param params
  146. */
  147. public static void error(final Logger logger, final String message, final Object... params) {
  148. if (logger != null) {
  149. if (logger.isErrorEnabled()) {
  150. logger.error(getLogString(message, params));
  151. }
  152. }
  153. if (ServerEnvEnum.PROD.getCode().equals(env)) {
  154. // DingService.sendAlertDing(getLogString(message, params));
  155. }
  156. }
  157. /**
  158. * 打印error日志
  159. *
  160. * @param logger 日志对象
  161. * @param throwable 异常堆栈
  162. * @param message 需要打印的消息
  163. */
  164. public static void error(final Logger logger, final Throwable throwable, final String message) {
  165. error(logger, throwable, message, null);
  166. }
  167. /**
  168. * 打印error日志
  169. *
  170. * @param logger
  171. * @param message
  172. * @param throwable
  173. * @param params
  174. */
  175. public static void error(final Logger logger, final Throwable throwable, final String message,
  176. final Object... params) {
  177. if (logger != null) {
  178. if (logger.isErrorEnabled()) {
  179. logger.error(getLogString(message, params), throwable);
  180. }
  181. }
  182. if(ServerEnvEnum.PROD.getCode().equals(env)){
  183. // DingService.sendAlertDing(getLogString(message, params) + "/n" + throwable);
  184. }
  185. }
  186. /**
  187. * 生成输出到日志的字符串。
  188. *
  189. * @param msgTemplate 日志描述信息
  190. * @param param 任意个要输出到日志的参数[可空]
  191. * @return 输出到日志的字符串
  192. */
  193. private static String getLogString(String msgTemplate, Object... param) {
  194. StringBuilder sb = new StringBuilder();
  195. if (param == null || param.length == 0) {
  196. sb.append(msgTemplate);
  197. } else {
  198. sb.append(MessageHelper.formatMsg(msgTemplate, param));
  199. }
  200. return sb.toString();
  201. }
  202. /**
  203. *
  204. * @param msgTemplate
  205. * @param param
  206. * @return
  207. */
  208. private static String logString(String msgTemplate, Object... param) {
  209. StringBuilder sb = new StringBuilder();
  210. if (param == null || param.length == 0) {
  211. sb.append(msgTemplate);
  212. } else {
  213. sb.append(MessageHelper.formatMsg(msgTemplate, param));
  214. }
  215. return sb.toString();
  216. }
  217. }