亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 2128 | 回復(fù): 7
打印 上一主題 下一主題

想偷懶,水平不夠 (求perl腳本)  關(guān)閉 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2007-07-06 09:21 |只看該作者 |倒序?yàn)g覽
本來(lái)發(fā)在ruby版的,想增加人氣,但是沒(méi)人回答。這里人氣高一些,應(yīng)該好一些吧。

看到本版【專題交流】我今天又偷懶了,也想偷懶一下,
但是限于水平不夠。就請(qǐng)大家?guī)蛶兔Α?br /> 主要就是想有一個(gè)perl腳本完成一個(gè)小任務(wù),按照要求批量的修改java文件,減輕一點(diǎn)工作量。

言歸正傳,看下面的Java代碼:
public class LoginAction extends BaseAction {
        if (log.isDebugEnabled()) {
            log.debug("LoginAction  begin"); //A

        }

       //.....

       log.info("test info"); //B


       //.....

       log.warn("test warn");  //C


       //.....

}



一般來(lái)說(shuō)寫(xiě)log是要判斷設(shè)置的log級(jí)別的,總共也就fatal,error,warn,info,debug這么幾個(gè)。
像A處的代碼就判斷了是否可以寫(xiě)debug級(jí)別的log,然后再寫(xiě)入具體的log內(nèi)容。
而B(niǎo)和C處圖省事,沒(méi)有判斷級(jí)別就直接做了。
相應(yīng)正確的代碼應(yīng)該是:

if (log.isInfoEnabled()) {
    log.info("test info"); //B

}



if (log.isWarnEnabled()) {
    log.warn("test warn"); //C

}


我想對(duì)一個(gè)目錄下的所有java文件都判斷一下,如果已經(jīng)像A處一樣判斷了log級(jí)別,啥事也不做。
不然的話,就把形如開(kāi)始的B和C的代碼改成后來(lái)修正過(guò)的一樣。

希望效率高一點(diǎn)。
謝謝

[ 本帖最后由 admove 于 2007-7-6 09:56 編輯 ]

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
2 [報(bào)告]
發(fā)表于 2007-07-06 09:44 |只看該作者
你這個(gè)類設(shè)計(jì)的就有問(wèn)題。
為什么不在 log.info 內(nèi)部判斷?

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2007-07-06 09:51 |只看該作者
原帖由 flw 于 2007-7-6 09:44 發(fā)表
你這個(gè)類設(shè)計(jì)的就有問(wèn)題。
為什么不在 log.info 內(nèi)部判斷?


是這樣的
這用了apache的一個(gè)子項(xiàng)目log4j。
通用的做法如下:
log的級(jí)別在一個(gè)配置文件里定義。
在開(kāi)發(fā)階段,把級(jí)別定低一點(diǎn),比如所有級(jí)別都可以寫(xiě)

但是到了發(fā)布的時(shí)候,定高一點(diǎn)。比如只允許error級(jí)別的可以寫(xiě),開(kāi)發(fā)階段的什么debug,info的log統(tǒng)統(tǒng)不讓出。

至于log4j類設(shè)計(jì)的問(wèn)題,我就沒(méi)有發(fā)言權(quán)了。

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
4 [報(bào)告]
發(fā)表于 2007-07-06 09:55 |只看該作者
原帖由 admove 于 2007-7-6 09:51 發(fā)表


是這樣的
這用了apache的一個(gè)子項(xiàng)目log4j。
通用的做法如下:
log的級(jí)別在一個(gè)配置文件里定義。
在開(kāi)發(fā)階段,把級(jí)別定低一點(diǎn),比如所有級(jí)別都可以寫(xiě)

但是到了發(fā)布的時(shí)候,定高一點(diǎn)。比如只允許error ...

你確信不判斷直接調(diào)用 log.info() 在 info disable 下的情況下也一定會(huì)輸出信息?

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2007-07-06 10:00 |只看該作者
原帖由 flw 于 2007-7-6 09:55 發(fā)表

你確信不判斷直接調(diào)用 log.info() 在 info disable 下的情況下也一定會(huì)輸出信息?


是啊,理論上log.info應(yīng)該在日志級(jí)別高于info時(shí)什么也不顯示的啊。

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2007-07-06 10:04 |只看該作者
原帖由 flw 于 2007-7-6 09:55 發(fā)表

你確信不判斷直接調(diào)用 log.info() 在 info disable 下的情況下也一定會(huì)輸出信息?


確實(shí),你說(shuō)的對(duì)。
它的等級(jí)可分為OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,
如果配置為WARN這樣只顯示W(wǎng)ARN, ERROR和FATAL的log信息,而INFO信息不會(huì)被顯示。

所以,我的問(wèn)題有些問(wèn)題。
現(xiàn)在我是想完成這個(gè)任務(wù)本身,至于具體是否有必要,暫時(shí)不去考慮了。

謝謝回答!

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
7 [報(bào)告]
發(fā)表于 2007-07-06 10:07 |只看該作者
有些工具很好用,比如 Perl、Vim 等等,
但是工具只起一個(gè)輔助作用,
不能因?yàn)楣ぞ吲了,寫(xiě)程序時(shí)心眼就不夠了。
我前陣子就見(jiàn)過(guò)一個(gè)活生生的例子:
這是一個(gè)用 ESQL 操作數(shù)據(jù)庫(kù)的 C 程序,
每個(gè)函數(shù)的一開(kāi)始先定義幾十個(gè)變量:

char field1[...];
char field2[...];
.....

這樣寫(xiě)上幾十行,
然后接下來(lái)不論分說(shuō)先
memset( field1, 0x00, sizeof(field1) );
memset( field2, 0x00, sizeof(field1) );
又是幾十行,
下面還有很多垃圾代碼就不一而述了,
后來(lái)我問(wèn)了相關(guān)人等,說(shuō)是原作者經(jīng)常在別人面前吹噓 vim。
看來(lái)他是用 vim 批量生成的啊。怪不得才能寫(xiě)出如此垃圾的代碼。

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
8 [報(bào)告]
發(fā)表于 2007-07-06 10:08 |只看該作者
原帖由 admove 于 2007-7-6 10:04 發(fā)表


確實(shí),你說(shuō)的對(duì)。
它的等級(jí)可分為OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,
如果配置為WARN這樣只顯示W(wǎng)ARN, ERROR和FATAL的log信息,而INFO信息不會(huì)被顯示。

所以,我的問(wèn)題有些問(wèn)題。
現(xiàn)在我是想 ...

這樣的問(wèn)題還是不要討論了比較好。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP