这是学校作业:我必须构建一个自定义记录器类,能够从项目中的任何位置进行记录。
除了java.util.logger之外,我不能使用其他任何东西。我正在使用位于项目中 /conf 文件夹中的属性文件。
我收到此错误:
属性的错误级别值:java.util.logging.FileHandler.level
无法设置 java.util.logging.FileHandler 的级别
我认为这就是为什么我的 debug() 方法无法在我的文件中打印“ddd”,也是为什么我不能使用我设置的这个字符串格式化文件:“[%1$tc] - [%2$s] [% 4$s] [%5$s] %n”。
我无法理解我在conf文件或代码中可能犯的错误:导入是正确的,我的代码没有错误/警告。
我知道我不应该使用绝对路径,但我不认为这是我的问题,解决此问题后路径将得到修复。
我的 /test 文件夹中的 try.log 的输出:
2018 年 1 月 3 日 14:01:03 logger.classLogger 警告
警告:请注意
请 03-Jan-2018 14:01:03 logger.classLogger 错误
严重:错误
2018 年 1 月 3 日 14:01:03 logger.classLogger 信息
信息:信息
这是我的 .properties 文件:
.level=ALL
handlers = java.util.logging.FileHandler
java.util.logging.FileHandler.level = FINE
java.util.logging.FileHandler.append = true
java.util.logging.FileHandler.limit = 1000000
java.util.logging.FileHandler.count = 100
java.util.logging.FileHandler.pattern = %t/Log%u%g.log
java.util.logging.SimpleFormatter.format = "[%1$tc] - [%2$s] [%4$s] …
Run Code Online (Sandbox Code Playgroud) 我希望有一个java方法,给我索引,给出一个相应的字母集excel,所以:
258 => IZ(最后一个指数)
30 => AD
120 => DR
56 => BD
第一种方法给出正确的输出,但它非常愚蠢,我不喜欢它.我试图建立一个涉及一些思考的第二种方法.我已经看到使用字符串构建或别的类似的方法这一个 ,但我试图又名建立一个方法自己betterGetColumnName.
更好258 => IHGFEDCBAX(不行)
更好30 => AD(好的,第二个字母表圆好了)
更好120 => DCBAP(不行)
更好56 =>坏(看起来像第三个字母圆形打破了我的逻辑)
public String getColumnName(int index){
String[] letters = {
"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R",
"S","T","U","V","W","X","Y","Z","AA","AB","AC","AD","AE","AF","AG","AH",
"AI","AJ","AK","AL","AM","AN","AO","AP","AQ","AR","AS","AT","AU","AV",
"AW","AX","AY","AZ","BA","BB","BC","BD","BE","BF","BG","BH","BI","BJ",
"BK","BL","BM","BN","BO","BP","BQ","BR","BS","BT","BU","BV","BW","BX",
"BY","BZ","CA","CB","CC","CD","CE","CG","CH","CI","CJ","CK","CL","CM",
"CN","CO","CP","CQ","CR","CS","CT","CU","CV","CW","CX","CY","CZ","DA",
"DB","DC","DD","DF","DG","DH","DI","DJ","DK","DL","DM","DN","DO","DP",
"DQ","DR","DS","DT","DU","DV","DW","DX","DY","DZ","EA","EB","EC","ED",
"EE","EF","EG","EH","EI","EJ","EK","EL","EM","EN","EO","EP","EQ","ER",
"ES","ET","EU","EV","EW","EX","EY","EZ","FA","FB","FC","FD","FE","FF",
"FG","FH","FI","FJ","FK","FL","FM","FN","FO","FP","FQ","FR","FS","FT",
"FU","FV","FW","FX","FY","FZ","GA","GB","GC","GD","GE","GF","GG","GH",
"GI","GJ","GK","GL","GM","GN","GO","GP","GQ","GR","GS","GT","GU","GV",
"GW","GX","GY","GZ","HA","HB","HC","HD","HE","HF","HG","HH","HI","HJ",
"HK","HL","HM","HN","HO","HP","HQ","HR","HS","HT","HU","HV","HW","HX",
"HY","HZ","IA","IB","IC","ID","IE","IF","IG","IH","II","IJ","IK","IL",
"IM","IN","IO","IP","IQ","IR","IS","IT","IU","IV","IW","IX","IY","IZ"
};
if (index<=letters.length){
return letters[index-1];
}else{
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
我想我应该保存多少次我做了充分的字母一轮,我不会用StringBuilder
或者别的,只是char
,String
和integers
因为在学校里,我们不能升级Java版本(1.5.x版)还我认为这可能是对我有用理解为什么我的逻辑如此错误.
public String betterGetColumnName(int index){
int res=0; …
Run Code Online (Sandbox Code Playgroud)