-
Notifications
You must be signed in to change notification settings - Fork 205
Expand file tree
/
Copy pathLogger.java
More file actions
80 lines (69 loc) · 2.24 KB
/
Logger.java
File metadata and controls
80 lines (69 loc) · 2.24 KB
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
package com.example.task01;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
public class Logger {
private String _name = "Logger";
private static ArrayList<Logger> _loggers = new ArrayList<Logger>();
private LogLevel _logLevel = LogLevel.DEBUG;
public Logger(String name) {
_name = name;
}
public String getName(){
return _name;
}
public static Logger getLogger(String name){
for(int i= 0; i< _loggers.toArray().length;i++){
if(_loggers.get(i).getName().equals(name)){
return _loggers.get(i);
}
}
Logger logger = new Logger(name);
_loggers.add(logger);
return logger;
}
public LogLevel getLevel(){
return _logLevel;
}
public void setLevel(LogLevel logLevel){
_logLevel = logLevel;
}
public void error(String message){
log(LogLevel.ERROR, message);
}
public void error(String format, Object... args){
log(LogLevel.ERROR, format, args);
}
public void warning(String message){
log(LogLevel.WARNING, message);
}
public void warning(String format, Object... args){
log(LogLevel.WARNING, format, args);
}
public void info(String message){
log(LogLevel.INFO, message);
}
public void info(String format, Object... args){
log(LogLevel.INFO, format, args);
}
public void debug(String message){
log(LogLevel.DEBUG, message);
}
public void debug(String format, Object... args){
log(LogLevel.DEBUG,format,args);
}
public void log(LogLevel logLevel, String message){
if(logLevel.compareTo(_logLevel) >= 0){
System.out.println(formatMessage(logLevel, message));
}
}
public void log(LogLevel logLevel, String format, Object... args){
if(logLevel.compareTo(_logLevel) >= 0){
System.out.println(formatMessage(logLevel, String.format(format, args)));
}
}
private String formatMessage(LogLevel logLevel, String Message){
String date = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new Date());
return String.format("[%s] %s %s - %s", logLevel.name(), date, this._name, Message);
}
}