Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.14 KB | None | 0 0
  1. diff --git a/src/main/java/com/ripley/commerce/retirotienda/service/RetiroTiendaService.java b/src/main/java/com/ripley/commerce/retirotienda/service/RetiroTiendaService.java
  2. index f324555..8c8d36d 100644
  3. --- a/src/main/java/com/ripley/commerce/retirotienda/service/RetiroTiendaService.java
  4. +++ b/src/main/java/com/ripley/commerce/retirotienda/service/RetiroTiendaService.java
  5. @@ -3,6 +3,7 @@ package com.ripley.commerce.retirotienda.service;
  6. import com.ripley.commerce.retirotienda.dao.NotificacionTiendaSql;
  7. import com.ripley.commerce.retirotienda.dao.RetiroTiendaSqlME;
  8. import com.ripley.commerce.retirotienda.dto.ProcesoRetiroTienda;
  9. +import com.ripley.commerce.retirotienda.util.Constants;
  10. import com.ripley.commerce.retirotienda.util.Util;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. @@ -29,7 +30,7 @@ public class RetiroTiendaService {
  14. }
  15.  
  16. public void ejecutar() {
  17. - Util.infoLogger("Iniciando del proceso RetiroTiendaService", this.getClass());
  18. + Util.infoLogger(Constants.LOGNAME_JOB1, "Iniciando del proceso RetiroTiendaService", this.getClass());
  19. try {
  20. ProcesoRetiroTienda procesoRetiroTienda = new ProcesoRetiroTienda("RetiroTiendaService", trackingSqlME, mailService, notificacionService, colaService, notificacionTiendaSql);
  21. procesoRetiroTienda.procesar();
  22. diff --git a/src/main/java/com/ripley/commerce/retirotienda/util/Util.java b/src/main/java/com/ripley/commerce/retirotienda/util/Util.java
  23. index e628f74..df0b84f 100644
  24. --- a/src/main/java/com/ripley/commerce/retirotienda/util/Util.java
  25. +++ b/src/main/java/com/ripley/commerce/retirotienda/util/Util.java
  26. @@ -7,75 +7,81 @@ import org.springframework.stereotype.Component;
  27. import pe.com.ripley.oc.retirotienda.configurations.DateFormatter;
  28.  
  29. import java.util.ArrayList;
  30. +import java.util.HashMap;
  31. import java.util.List;
  32. +import java.util.Map;
  33.  
  34. @Component
  35. public class Util {
  36. - private static Logger LOG;
  37. - private static DateFormatter formatter;
  38. - public static List<Log4j> LOG4J = new ArrayList<>();
  39. - public static final String LOG_INFO = "INFO";
  40. - public static final String LOG_DEBUG = "DEBUG";
  41. - public static final String LOG_ERROR = "ERROR";
  42. + private static DateFormatter formatter = new DateFormatter();
  43. + private static Map<String, List<Log4j>> logsMap = new HashMap<>();
  44. + private static List<Log4j> LOG4J = new ArrayList<>();
  45. + private static final String LOG_INFO = "INFO";
  46. + private static final String LOG_DEBUG = "DEBUG";
  47. + private static final String LOG_ERROR = "ERROR";
  48.  
  49. - @Autowired
  50. - private Util(DateFormatter formatter) {
  51. - Util.formatter = formatter;
  52. + private Util() {
  53. }
  54.  
  55. public static String fechaActual() {
  56. return formatter.currentDateTime();
  57. }
  58.  
  59. - private static void logger(String texto, String type, Class T) {
  60. + private static void logger(String logName, String texto, String type, Class T) {
  61. Log4j log = new Log4j(texto, type, T);
  62. print(log);
  63. - Util.LOG4J.add(log);
  64. + if (logsMap.containsKey(logName))
  65. + logsMap.get(logName).add(log);
  66. + else {
  67. + List<Log4j> logs = new ArrayList<>();
  68. + logs.add(log);
  69. + logsMap.put(logName, logs);
  70. + }
  71. +// Util.LOG4J.add(log);
  72. }
  73.  
  74. - public static void infoLogger(String texto, Class clase) {
  75. - logger(texto, LOG_INFO, clase);
  76. + public static void infoLogger(String logName, String texto, Class clase) {
  77. + logger(logName, texto, LOG_INFO, clase);
  78. }
  79.  
  80. - public static void errorLogger(String texto, Class clase) {
  81. - logger(texto, LOG_ERROR, clase);
  82. + public static void errorLogger(String logName, String texto, Class clase) {
  83. + logger(logName, texto, LOG_ERROR, clase);
  84. }
  85.  
  86. - public static void debugLogger(String texto, Class clase) {
  87. - logger(texto, LOG_DEBUG, clase);
  88. + public static void debugLogger(String logName, String texto, Class clase) {
  89. + logger(logName, texto, LOG_DEBUG, clase);
  90. }
  91.  
  92. private static void print(Log4j l) {
  93. - LOG = LoggerFactory.getLogger(l.getClassName());
  94. + Logger LOG = LoggerFactory.getLogger(l.getClassName());
  95. + String contenidoLog = String.format("********** %s", l.getTexto());
  96. if (l.getType().equalsIgnoreCase(LOG_INFO)) {
  97. - LOG.info("********** " + l.getTexto());
  98. + LOG.info(contenidoLog);
  99. } else if (l.getType().equalsIgnoreCase(LOG_DEBUG)) {
  100. - LOG.debug("********** " + l.getTexto());
  101. + LOG.debug(contenidoLog);
  102. } else if (l.getType().equalsIgnoreCase(LOG_ERROR)) {
  103. - LOG.error("********** " + l.getTexto());
  104. + LOG.error(contenidoLog);
  105. }
  106. }
  107.  
  108. - public static void clearLogger() {
  109. - LOG4J.clear();
  110. + public static void clearLogger(String logName) {
  111. + if (logsMap.containsKey(logName))
  112. + logsMap.get(logName).clear();
  113. }
  114.  
  115. - public static byte[] getBytesLog() {
  116. + public static byte[] getBytesLog(String logName) {
  117. StringBuilder sb = new StringBuilder();
  118. - for (Log4j l : Util.LOG4J) {
  119. - sb.append(fechaHoraLog() + " ");
  120. - sb.append("[" + l.getType() + "]");
  121. - sb.append("********** ");
  122. - sb.append(l.getTexto());
  123. - sb.append("\n");
  124. + for (Log4j log : logsMap.get(logName)) {
  125. + sb.append(fechaHoraLog()).append(" ").append("[").append(log.getType()).append("]").append("********** ")
  126. + .append(log.getTexto()).append("\n");
  127. }
  128. return sb.toString().getBytes();
  129. }
  130.  
  131. - public static void logException(String texto, Exception e, Class classname) {
  132. - logger(texto + e.getMessage(), LOG_ERROR, classname);
  133. + public static void logException(String logName, String texto, Exception e, Class classname) {
  134. + logger(logName, texto + e.getMessage(), LOG_ERROR, classname);
  135. for (int i = 0; i < e.getStackTrace().length; i++) {
  136. - logger(e.getStackTrace()[i].toString(), LOG_ERROR, classname);
  137. + logger(logName, e.getStackTrace()[i].toString(), LOG_ERROR, classname);
  138. }
  139. }
  140.  
  141. diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml
  142. index 14d0511..1e13e21 100644
  143. --- a/src/main/resources/logback-spring.xml
  144. +++ b/src/main/resources/logback-spring.xml
  145. @@ -18,30 +18,58 @@
  146. <sift>
  147. <appender name="FILE-${SERVICIO}" class="ch.qos.logback.core.rolling.RollingFileAppender">
  148. <file>${LOG_HOME}/${LOGNAME}.log</file>
  149. - <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  150. - <Pattern>
  151. - %d{yyyy-MM-dd HH:mm:ss} %mdc [%thread] %level %logger{35} - %msg%n
  152. - </Pattern>
  153. + <encoder>
  154. + <pattern>%d{HH:mm:ss.SSS} [%-5level] [%thread] [%X{SERVICIO}] [%logger{0}:%line] - %msg%n</pattern>
  155. </encoder>
  156. - <rollingPolicy
  157. - class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
  158. - <FileNamePattern>${LOG_HOME}/archived/${LOGNAME}.%d{yyyy-MM-dd}.%i.log.zip</FileNamePattern>
  159. - <MinIndex>1</MinIndex>
  160. - <MaxIndex>10</MaxIndex>
  161. + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  162. + <!-- rollover daily -->
  163. + <fileNamePattern>${LOG_HOME}/archived/${LOGNAME}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  164. + <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  165. + <maxFileSize>1MB</maxFileSize>
  166. + </timeBasedFileNamingAndTriggeringPolicy>
  167. <maxHistory>30</maxHistory>
  168. </rollingPolicy>
  169. - <triggeringPolicy
  170. - class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
  171. - <MaxFileSize>10MB</MaxFileSize>
  172. - </triggeringPolicy>
  173. </appender>
  174. </sift>
  175. </appender>
  176. - <logger name="com.ripley.commerce.retirotienda" level="INFO, ERROR" additivity="false">
  177. + <appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender">
  178. + <smtpHost>email-smtp.us-west-2.amazonaws.com</smtpHost>
  179. + <smtpPort>25</smtpPort>
  180. + <discriminator class="ch.qos.logback.classic.sift.MDCBasedDiscriminator">
  181. + <key>SERVICIO</key>
  182. + <defaultValue>unknown</defaultValue>
  183. + </discriminator>
  184. + <discriminator class="ch.qos.logback.classic.sift.MDCBasedDiscriminator">
  185. + <key>LOGNAME</key>
  186. + <defaultValue>unknown</defaultValue>
  187. + </discriminator>
  188. + <username>AKIAXXKG6ODGMO64IISU</username>
  189. + <password>BFGeD3TBEl1gjuLU9s3r1ncs0fg2eKe51EAZy6BmD40T</password>
  190. + <SSL>true</SSL>
  191. + <to>vmsoto@avatar-global.com</to>
  192. + <from>dev.victor.soto@gmail.com</from>
  193. + <subject>Error: Servicio - Retiro en Tienda: %X{SERVICIO}</subject>
  194. + <layout class="ch.qos.logback.classic.PatternLayout">
  195. + <Pattern>%d{HH:mm:ss.SSS} [%-5level] [%thread] [%logger{0}:%line] - %msg%n</Pattern>
  196. + </layout>
  197. + <asynchronousSending>false</asynchronousSending>
  198. + <layout class="ch.qos.logback.classic.html.HTMLLayout"/>
  199. + </appender>
  200. + <logger name="com.ripley.commerce.retirotienda.CheckRetiroTiendaApplication">
  201. + <level value="OFF"/>
  202. + </logger>
  203. +
  204. + <logger name="com.ripley.commerce.retirotienda" level="INFO, DEBUG">
  205. <appender-ref ref="FILE"/>
  206. - <appender-ref ref="STDOUT"/>
  207. + <appender-ref ref="EMAIL"/>
  208. </logger>
  209. - <root level="error">
  210. +
  211. + <root level="OFF">
  212. + <appender-ref ref="STDOUT"/>
  213. + </root>
  214. +
  215. + <root level="INFO">
  216. <appender-ref ref="STDOUT"/>
  217. + <appender-ref ref="EMAIL"/>
  218. </root>
  219. </configuration>
  220. \ No newline at end of file
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement