diff --git a/src/easy/LeetCode0001.java b/src/easy/LeetCode0001.java index 8aa323a54e620205beb5ff85dc080a125143981a..4f27011059ccee9df4455a705dcc045142cd543b 100644 --- a/src/easy/LeetCode0001.java +++ b/src/easy/LeetCode0001.java @@ -1,5 +1,7 @@ package easy; +import useful.MyUtils; + import java.util.HashMap; import java.util.Map; @@ -24,18 +26,17 @@ public class LeetCode0001 { int[] nums = {2, 7, 11, 15}; int target = 9; int[] result = new LeetCode0001().useMap(nums,target); - for (int num:result) { - System.out.print(num + "\t"); - } + new MyUtils<>().print("info",result); } /** * 使用Map实现 + * * @param nums 传入数组 * @param target 检查值 * @return 返回 */ - private int[] useMap(int[] nums, int target) { + private int[] useMap(int[] nums, int target) { Map map = new HashMap<>(); for (int i = 0; i < nums.length; ++i) { @@ -47,3 +48,4 @@ public class LeetCode0001 { return new int[0]; } } + diff --git a/src/log4j.properties b/src/log4j.properties new file mode 100644 index 0000000000000000000000000000000000000000..4c8eb8e063593642c7d20cb52c4297ce4f418f26 --- /dev/null +++ b/src/log4j.properties @@ -0,0 +1,24 @@ +### ### +log4j.rootLogger = debug,stdout,D,E + +### Ϣ̧ ### +log4j.appender.stdout = org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target = System.out +log4j.appender.stdout.layout = org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern = [%-4p] %d{yyyy/MM/dd HH:mm:ss.SSS} -> %l%n%m%n + +### DEBUG ϵ־=E://logs/debug.log ### +log4j.appender.D = org.apache.log4j.DailyRollingFileAppender +log4j.appender.D.File = D://workspace/gitshare/leetCode/logs/debug.log +log4j.appender.D.Append = true +log4j.appender.D.Threshold = DEBUG +log4j.appender.D.layout = org.apache.log4j.PatternLayout +log4j.appender.D.layout.ConversionPattern = %-d{yyyy/MM/dd HH:mm:ss.SSS} -> %l%n%m%n + +### ERROR ϵ־=E://logs/error.log ### +log4j.appender.E = org.apache.log4j.DailyRollingFileAppender +log4j.appender.E.File = D://workspace/gitshare/leetCode/logs/error.log +log4j.appender.E.Append = true +log4j.appender.E.Threshold = ERROR +log4j.appender.E.layout = org.apache.log4j.PatternLayout +log4j.appender.E.layout.ConversionPattern = %-d{yyyy/MM/dd HH:mm:ss.SSS} -> %l%n%m%n \ No newline at end of file diff --git a/src/useful/EnumLogType.java b/src/useful/EnumLogType.java new file mode 100644 index 0000000000000000000000000000000000000000..15cd1e743571b8e0b818af36ca8340844e9701ac --- /dev/null +++ b/src/useful/EnumLogType.java @@ -0,0 +1,35 @@ +package useful; + +import java.util.Arrays; + +public enum EnumLogType implements IEnum { + + INFO("1","info"), + DEBUG("2","debug"), + ERROR("3","error"),; + + EnumLogType(String code, String description) { + } + + @Override + public String getCode() { + return code; + } + + @Override + public String getDescription() { + return description; + } + + private String code; + + private String description; + + private static EnumLogType find(String code) { + + return Arrays.stream(EnumLogType.values()) + .filter(enumLogType -> enumLogType.code.equals(code)) + .findFirst() + .orElse(null); + } +} diff --git a/src/useful/IEnum.java b/src/useful/IEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..687322b6a758dfe96f8eecc331a5c5939b3abc3a --- /dev/null +++ b/src/useful/IEnum.java @@ -0,0 +1,10 @@ +package useful; + +import com.fasterxml.jackson.annotation.JsonValue; + +public interface IEnum { + @JsonValue + String getCode(); + @JsonValue + String getDescription(); +} diff --git a/src/useful/MyUtils.java b/src/useful/MyUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..55e74aa8bf24378ff90b18cd8f3e2cc1ca5d96eb --- /dev/null +++ b/src/useful/MyUtils.java @@ -0,0 +1,37 @@ +package useful; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static useful.EnumLogType.*; + +public class MyUtils { + + /** + * 引入Logger + */ + private static Logger logger = LoggerFactory.getLogger(MyUtils.class); + + /** + * 打印控制台 + * @param args 入参 + */ + public void print(String type,T... args) { + for (T arg: args) { + this.printAll(type, arg); + } + } + + private void printAll(String type, T arg) { + switch (type) { + case "info": logger.info("{}", arg); + break; + case "debug": logger.debug("{}", arg); + break; + case "error": logger.error("{}", arg); + break; + default: + } + } + +}