在 tomcat 中使用 java.util.logging.logger 时,我遇到了日志文件名轮换的问题。
private Logger LOGGER = Logger.getLogger(MyClass.class.getName());
private FileHandler fh = null;
Log log = new Log();
private void writeLog(String terminalId, String date_time, String msg){
log.isExists();
fh = new FileHandler(log.fullPath(), true);
fh.setLevel(Level.INFO);
fh.setFormatter(new MyLogFormatter());
LOGGER.addHandler(fh);
LOGGER.setUseParentHandlers(false);
LOGGER.setLevel(Level.INFO);
LOGGER.info("Terminal: " + terminalId);
LOGGER.info("Time: " + date_time);
LOGGER.info("message: " + msg);
}
public test() {
writeLog(mapXML.get("terminalId"), mapXML.get("date_time"), "successful");
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,log.fullPath()就像“/usr/desktop/2015-05-13.log”
在我多次执行 test() 后,多个文件如
2015-05-13.log, 2015-05-13.log.1, 2015-05-13.log.2, 2015-05-13.log.3
生成。
在 2015-05-13.log 中,它包含总消息,而带有编号的文件仅包含该执行的消息。
我知道如果在每次执行后重新启动 tomcat test(),只会创建 2015-05-13.log。
但是每次执行后我都无法重新启动tomcat。那么如何让它只生成一个日志文件呢?
在我的应用程序中,我想要如下图所示的布局.

我已经尝试了几个小时,但无法获得理想的结果.
这是我的布局xml:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingTop="@dimen/activity_vertical_margin" >
<View
android:id="@+id/middleSeperator"
android:layout_width="1dp"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:background="#90909090" />
<LinearLayout
android:id="@+id/leftLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@id/middleSeperator"
android:gravity="right"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/batt_health"
android:textColor="@color/white" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:text="@string/batt_level"
android:textColor="@color/white" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:text="@string/batt_status"
android:textColor="@color/white" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:text="@string/batt_tech"
android:textColor="@color/white" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:text="@string/batt_temp"
android:textColor="@color/white" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:text="@string/batt_voltage"
android:textColor="@color/white" />
</LinearLayout>
<LinearLayout
android:id="@+id/rightLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/middleSeperator" …Run Code Online (Sandbox Code Playgroud)