0
我想補充的堆棧跟蹤到錯誤日誌記錄,所以任何地方,我們有正則表達式替換登錄
try {
doSomething();
} catch (Exception ex) {
something();
logger.severe("oops");
something();
}
我想有這樣的:
try {
doSomething();
} catch (Exception ex) {
something();
logger.log(Level.SEVERE,"oops",ex);
something();
}
異常變量可以是任何前, e等
我創建了一個正則表達式,但它是非常緩慢,並沒有像我期望的那樣工作。
正則表達式:
((?s:.)*catch\s*\(\s*Exception\s*(.+)\s*\)\s*\{(?s:.)*logger\.)severe\(((?s:.)*?)\);((?s:.)*)
替換:
$1log(Level.SEVERE,$3,$2); $4
它取代
try {
doSomething();
} catch (Exception ex) {
something();
logger.severe("oops");
something();
}
{
logger.severe("oops2");
}
到
try {
doSomething();
} catch (Exception ex) {
something();
logger.severe("oops");
something();
}
{
logger.log(Level.SEVERE,"oops2",ex);
}
所以你寫代碼來替換代碼?你的開發環境不包括查找/替換全部功能嗎? – Shar1er80
不可以。我想在IDE的replace all命令中用正則表達式替換代碼。 – HamoriZ