1. 程式人生 > >開發過程中遇到的細節問題

開發過程中遇到的細節問題

1、使用mybatis框架如何在控制檯列印SQL的功能
    新增一下配置。方便開發過程中看到SQL的以及引數
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING" />
    </settings>
    
2、傳送定時郵件使用過程中兩個問題,
    1、帶附件導致的檔名亂碼,解決方案
        MimeBodyPart mbp2 = new MimeBodyPart();
        mbp2.setDataHandler(new DataHandler(fds));
        mbp2.setFileName(MimeUtility.encodeWord(attachFileMailSenderInfo.getFileName()));//使用MimeUtility.encodeWord來處理
    2、如果檔名過長在linux系統上傳送會導致收到的郵件收到的附件名為ATT...dat的檔案。
        原因是在linux上如果檔名過長會自動切割,導致的。處理辦法是,在啟動服務的時候要設定一個系統啟動引數來
        控制其不能切割。
        static {
            System.setProperty("mail.mime.splitlongparameters", "false");
        }
        切記:必須在專案啟動的時候設定,不能在傳送郵件前設定,原因是這個是系統變數,系統級別的無法更改。
3、linux上catalina.out檢視日誌,搜尋對應資訊的命令,使用sed 命令
    如:
        1、sed -n '/2018-10-24 10:22:50/,/2018-10-24 10:42:51/p' catalina.out |cat  查在時間2018-10-24 10:22:50到2018-10-24 10:42:51時間段的日誌,時間格式需要注意
        2、sed -n '/2018-10-24 12:50:25/,/2018-10-24 12:53:28/p' catalina.out | grep Exception -A3 -B9|cat  
                查在時間2018-10-24 12:50:25到2018-10-24 12:53:28時間段的日誌,並過濾出所有的Exception欄位,-A3表示exception的前3行,-B9 表示後9行。數字可以更改, -A -B也可以不要
        3、如果知道多少行到多少行發生了日誌:
             sed -n '起始行號,結束行號p' catalina.out |cat