Slightly improved safety; Added Readme
This commit is contained in:
parent
628bfa3a46
commit
1c9047e298
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,75 @@
|
|||
# What it is
|
||||
|
||||
This is simple logging library for Java, mostly written for myself. It can log what you want into file and console output.
|
||||
|
||||
# Usage
|
||||
|
||||
### Initialize
|
||||
|
||||
There is 2 way to initialize the DLogger class. There is no particular difference between them.
|
||||
|
||||
```
|
||||
DLogger logger = new DLogger(true);
|
||||
// Log file name will be: 2024.03.06_14-37-12_log.log
|
||||
|
||||
OR
|
||||
|
||||
DLogger logger = new DLogger(false, "log.log");
|
||||
// Log file name will be: 2024.03.06_14-37-12_your_log_name.log
|
||||
// Chars \ / : * ? " < > | will be replace with _
|
||||
```
|
||||
|
||||
### Using
|
||||
|
||||
Now you can set up logging directory. But you don't have to, then the default directory will be the project root "./".
|
||||
|
||||
```
|
||||
logger.setLogDir("/home/user/logs/");
|
||||
```
|
||||
|
||||
Next you can use logger. Logger accepts 4 parameters:
|
||||
|
||||
- String context - a property added for convenience that allows you to manually indicate where a log line was called from;
|
||||
- String text - log text;
|
||||
- boolean addTime - should logger add current time to log line
|
||||
- boolean addIndent - should logger add indent (22 spaces) to log line
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
logger.log("Some context", "Some text", false false);
|
||||
// Output
|
||||
// [Some context] Some text
|
||||
|
||||
|
||||
logger.log("MyClass", "Abracadabra", true, false);
|
||||
// Output
|
||||
// [2024-03-06 15:28:31] [MyClass] Abracadabra
|
||||
|
||||
|
||||
logger.log("MyClass", "Abracadabra", false, true);
|
||||
// Output
|
||||
// [MyClass] Abracadabra
|
||||
|
||||
|
||||
logger.log("MyClass", "Abracadabra", true, true);
|
||||
// Output
|
||||
// [2024-03-06 15:28:31] [MyClass] Abracadabra
|
||||
|
||||
|
||||
// By the way you can use logger to log exeptions
|
||||
...
|
||||
catch(Exeption e){
|
||||
for (StackTraceElement trace : e.getStackTrace()){
|
||||
logger.log("MyClass Exeption", trace.toString(), true, false);
|
||||
}
|
||||
}
|
||||
// Output
|
||||
// [2024-03-06 15:28:31] [MyClass Exeption] NullPointerExeption
|
||||
// [2024-03-06 15:28:31] [MyClass Exeption] Exeption trace line 1
|
||||
// [2024-03-06 15:28:31] [MyClass Exeption] Exeption trace line 2
|
||||
// ...
|
||||
```
|
||||
|
||||
|
||||
|
|
@ -14,11 +14,14 @@ public class DLogger {
|
|||
private String fileName;
|
||||
private boolean autoGenerateFileName;
|
||||
private static String logDir = "";
|
||||
private String[] unacceptableChars = {"\\", "/", ":", "*", "?", "\"", "<", ">", "|"};
|
||||
|
||||
private boolean customLogDir;
|
||||
|
||||
public DLogger(String fileName, boolean autoGenerateFileName) {
|
||||
this.fileName = fileName;
|
||||
public DLogger(boolean autoGenerateFileName, String ...fileName) {
|
||||
if (fileName.length != 0){
|
||||
this.fileName = replaceUnacceptableChar(fileName[0]);
|
||||
}
|
||||
this.autoGenerateFileName = autoGenerateFileName;
|
||||
}
|
||||
|
||||
|
@ -27,6 +30,13 @@ public class DLogger {
|
|||
this.customLogDir = true;
|
||||
}
|
||||
|
||||
private String replaceUnacceptableChar(String str){
|
||||
for (String character : unacceptableChars){
|
||||
str = str.replace(character, "_");
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
private String getCurrentTime(){
|
||||
String time;
|
||||
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
|
|
Loading…
Reference in New Issue