powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Вопросы по IT / Тестовое задание
5 сообщений из 5, страница 1 из 1
Тестовое задание
    #546914
XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В очередную контору тестовое задание сделал. На этот раз Ростелеком. Разобрался немножко с JQuery, довольно детально с Аяксом, при том что ЖаваСкрыпт даже толком не знаю. Блин, по ходу тестовые задания дают больший толчок в развитии, чем чтение толстых книг. Так как на практике в кратчайшие сроки разбираешься с тем что нужно, а не тратишь месяцы на чтение талмудов, и выполнение занудных учебных примеров.
...
Рейтинг: 0 / 0
Тестовое задание
    #549506
XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доделал аутентификацию. Но не странно ли, что стандартная она смотрит в конфиг томката?
А если у меня миллион юзеров на сайте?
...
Рейтинг: 0 / 0
Тестовое задание
    #550194
XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал юзеров в БД, теперь думаю как сделать так называемый "remember me" чекбокс. Тьфу, на каждой мелочи по несколько часов теряешь.
...
Рейтинг: 0 / 0
Тестовое задание
    #550783
XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как ща логгирование делают в томкэте?
...
Рейтинг: 0 / 0
Тестовое задание
    #556048
Фотография Конвертатор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLo  28.08.2018, 10:55
Как ща логгирование делают в томкэте?
Я добавлял logback и slf4j.

pom.xml:
Код: XML
1.
2.
3.
4.
5.
<dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>
Код: Java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Log {
    private enum MessageType { DEBUG, INFO, WARN, ERROR };

    public static void debug(String param) {
        log(MessageType.DEBUG, param);
    }

    public static void error(String param) {
        log(MessageType.ERROR, param);
    }

    public static void error(Throwable aProblem, String param) {
        log(MessageType.ERROR, problem2String(param, aProblem));
     }

    public static void info(String param) {
        log(MessageType.INFO, param);
    }

    public static void warn(String param) {
        log(MessageType.WARN, param);
    }

    public static void warn(Throwable aProblem, String param) {
        warn(problem2String(param, aProblem));
    }

    private static void log(MessageType messageType, String localParam) {
        String aClassName = whoCalledMe();
        Logger log = LoggerFactory.getLogger(aClassName);
        String param = modifyString(localParam);
        if (MessageType.DEBUG.equals(messageType)) {
            log.debug(param);
        } else if (MessageType.INFO.equals(messageType)) {
            log.info(param);
        } else if (MessageType.WARN.equals(messageType)) {
            log.warn(param);
        } else {
            log.error(param);
        }
    }

    private static String whoCalledMe() {
        StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
        StackTraceElement caller = stackTraceElements[4];
        String classname = caller.getClassName();
        return classname;
    }

    private static String problem2String(String aMsg, Throwable aProblem) {
        StringBuilder sb = new StringBuilder();
        if (aMsg != null) {
            sb.append(aMsg).append('\n');
        }
        sb.append("Error is: ").append(aProblem.getClass().getName()).
                append(" Message: ").append(aProblem.getMessage()).append('\n');
        makeGoodTrace(sb, aProblem.getStackTrace());
        Throwable cause = aProblem.getCause();
        while (cause != null) {
            sb.append("The cause is ").append(cause.getClass().getName()).
                    append(" Message: ").append(aProblem.getMessage()).append('\n');
            makeGoodTrace(sb, cause.getStackTrace());
            cause = cause.getCause();
        }
        return sb.toString();
    }

    public static String modifyString(String param) {
         if ("".equals(param)) {
             return "";
         }
         return param;
     }

    private static void makeGoodTrace(StringBuilder sb, StackTraceElement[] trace) {
        for (StackTraceElement entry : trace) {
            if (entry.getClassName().startsWith("com.github.javadev")) {
                sb.append("\t-->");
            } else {
                sb.append('\t');
            }
            sb.append(entry).append('\n');
        }
    }
}
...
Преобразователь лучший! Хорошего вам дня!
Изменено: 30.08.2018, 05:58 - Valentin Kolesnikov
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Вопросы по IT / Тестовое задание
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]