Skip to content

Commit 8ccf9a7

Browse files
committed
patch1.6
1 parent b1b2845 commit 8ccf9a7

5 files changed

Lines changed: 144 additions & 0 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ out
55
target
66
*.iml
77
atlassian-ide-plugin.xml
8+
log
89

910

1011

pom.xml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616

1717
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1818
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
19+
20+
<!-- Logging -->
21+
<logback.version>1.1.2</logback.version>
22+
<slf4j.version>1.7.7</slf4j.version>
1923
</properties>
2024

2125
<build>
@@ -35,11 +39,40 @@
3539
</build>
3640

3741
<dependencies>
42+
<!-- Logging with SLF4J & LogBack -->
43+
<dependency>
44+
<groupId>org.slf4j</groupId>
45+
<artifactId>slf4j-api</artifactId>
46+
<version>${slf4j.version}</version>
47+
<scope>compile</scope>
48+
</dependency>
49+
50+
<dependency>
51+
<groupId>org.slf4j</groupId>
52+
<artifactId>jcl-over-slf4j</artifactId>
53+
<version>${slf4j.version}</version>
54+
<scope>runtime</scope>
55+
</dependency>
56+
57+
<dependency>
58+
<groupId>org.slf4j</groupId>
59+
<artifactId>jul-to-slf4j</artifactId>
60+
<version>${slf4j.version}</version>
61+
<scope>runtime</scope>
62+
</dependency>
63+
64+
<dependency>
65+
<groupId>ch.qos.logback</groupId>
66+
<artifactId>logback-classic</artifactId>
67+
<version>${logback.version}</version>
68+
<scope>runtime</scope>
69+
</dependency>
3870
<dependency>
3971
<groupId>javax.servlet</groupId>
4072
<artifactId>javax.servlet-api</artifactId>
4173
<version>3.0.1</version>
4274
</dependency>
75+
4376
</dependencies>
4477

4578
<profiles>
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package ru.javawebinar.topjava;
2+
3+
import org.slf4j.Logger;
4+
import org.slf4j.LoggerFactory;
5+
6+
/**
7+
* User: gkislin
8+
* Date: 22.01.14
9+
*/
10+
public class LoggerWrapper {
11+
12+
private Logger logger;
13+
14+
public LoggerWrapper(Logger logger) {
15+
this.logger = logger;
16+
}
17+
18+
public static LoggerWrapper get(Class aClass) {
19+
return new LoggerWrapper(LoggerFactory.getLogger(aClass));
20+
}
21+
22+
public void debug(String msg) {
23+
logger.debug(msg);
24+
}
25+
26+
public void info(String msg, Object... arguments) {
27+
logger.info(msg, arguments);
28+
}
29+
30+
public void warn(String msg) {
31+
logger.warn(msg);
32+
}
33+
34+
public void warn(String msg, Throwable t) {
35+
logger.warn(msg, t);
36+
}
37+
38+
public void error(String msg) {
39+
logger.error(msg);
40+
}
41+
42+
public void error(String msg, Throwable t) {
43+
logger.error(msg, t);
44+
}
45+
46+
public boolean isDebug() {
47+
return logger.isDebugEnabled();
48+
}
49+
50+
public IllegalStateException getIllegalStateException(String msg) {
51+
return getIllegalStateException(msg, null);
52+
}
53+
54+
public IllegalStateException getIllegalStateException(String msg, Throwable e) {
55+
logger.error(msg, e);
56+
return new IllegalStateException(msg, e);
57+
}
58+
59+
public IllegalArgumentException getIllegalArgumentException(String msg) {
60+
return getIllegalArgumentException(msg, null);
61+
}
62+
63+
public IllegalArgumentException getIllegalArgumentException(String msg, Throwable e) {
64+
logger.error(msg, e);
65+
return new IllegalArgumentException(msg, e);
66+
}
67+
68+
public UnsupportedOperationException getUnsupportedOperationException(String msg) {
69+
logger.error(msg);
70+
return new UnsupportedOperationException(msg);
71+
}
72+
}

src/main/java/ru/javawebinar/topjava/web/UserServlet.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package ru.javawebinar.topjava.web;
22

3+
import ru.javawebinar.topjava.LoggerWrapper;
4+
35
import javax.servlet.ServletException;
46
import javax.servlet.http.HttpServlet;
57
import javax.servlet.http.HttpServletRequest;
@@ -11,8 +13,11 @@
1113
* Date: 19.08.2014
1214
*/
1315
public class UserServlet extends HttpServlet {
16+
private static final LoggerWrapper LOG = LoggerWrapper.get(UserServlet.class);
1417

1518
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
19+
LOG.debug("redirect to userList");
20+
1621
// request.getRequestDispatcher("/userList.jsp").forward(request, response);
1722
response.sendRedirect("userList.jsp");
1823
}

src/main/resources/logback.xml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<configuration scan="true" scanPeriod="30 seconds">
3+
4+
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
5+
<resetJUL>true</resetJUL>
6+
</contextListener>
7+
8+
<!-- To enable JMX Management -->
9+
<jmxConfigurator/>
10+
11+
<appender name="file" class="ch.qos.logback.core.FileAppender">
12+
<file>${TOPJAVA_ROOT}/log/topjava.log</file>
13+
14+
<encoder>
15+
<charset>UTF-8</charset>
16+
<pattern>%date %-5level %logger{0} [%file:%line] %msg%n</pattern>
17+
</encoder>
18+
</appender>
19+
20+
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
21+
<encoder>
22+
<charset>UTF-8</charset>
23+
<pattern>%-5level %logger{0} [%file:%line] %msg%n</pattern>
24+
</encoder>
25+
</appender>
26+
27+
<logger name="ru.javawebinar.topjava" level="DEBUG"/>
28+
29+
<root level="INFO">
30+
<appender-ref ref="file"/>
31+
<appender-ref ref="console"/>
32+
</root>
33+
</configuration>

0 commit comments

Comments
 (0)