🔨 添加日志系统设置.
This commit is contained in:
@@ -31,14 +31,119 @@ package org.dromara.visor.common.constant;
|
||||
*/
|
||||
public interface ConfigKeys {
|
||||
|
||||
/**
|
||||
* SFTP 文件预览大小
|
||||
*/
|
||||
String SFTP_PREVIEW_SIZE = "sftp_previewSize";
|
||||
|
||||
/**
|
||||
* SFTP 重复文件备份
|
||||
*/
|
||||
String SFTP_UPLOAD_PRESENT_BACKUP = "sftp_uploadPresentBackup";
|
||||
|
||||
/**
|
||||
* SFTP 备份文件名称
|
||||
*/
|
||||
String SFTP_UPLOAD_BACKUP_FILE_NAME = "sftp_uploadBackupFileName";
|
||||
|
||||
/**
|
||||
* 加密公钥
|
||||
*/
|
||||
String ENCRYPT_PUBLIC_KEY = "encrypt.publicKey";
|
||||
String ENCRYPT_PUBLIC_KEY = "encrypt_publicKey";
|
||||
|
||||
/**
|
||||
* 加密私钥
|
||||
*/
|
||||
String ENCRYPT_PRIVATE_KEY = "encrypt.privateKey";
|
||||
String ENCRYPT_PRIVATE_KEY = "encrypt_privateKey";
|
||||
|
||||
/**
|
||||
* 日志前端显示行数
|
||||
*/
|
||||
String LOG_WEB_SCROLL_LINES = "log_webScrollLines";
|
||||
|
||||
/**
|
||||
* 日志加载偏移行
|
||||
*/
|
||||
String LOG_TRACKER_LOAD_LINES = "log_trackerLoadLines";
|
||||
|
||||
/**
|
||||
* 日志加载间隔毫秒
|
||||
*/
|
||||
String LOG_TRACKER_LOAD_INTERVAL = "log_trackerLoadInterval";
|
||||
|
||||
/**
|
||||
* 是否生成详细的执行日志
|
||||
*/
|
||||
String LOG_EXEC_DETAIL_LOG = "log_execDetailLog";
|
||||
|
||||
/**
|
||||
* 凭证有效期分
|
||||
*/
|
||||
String LOGIN_LOGIN_SESSION_TIME = "login_loginSessionTime";
|
||||
|
||||
/**
|
||||
* 允许多端登录
|
||||
*/
|
||||
String LOGIN_ALLOW_MULTI_DEVICE = "login_allowMultiDevice";
|
||||
|
||||
/**
|
||||
* 允许凭证续签
|
||||
*/
|
||||
String LOGIN_ALLOW_REFRESH = "login_allowRefresh";
|
||||
|
||||
/**
|
||||
* 凭证续签最大次数
|
||||
*/
|
||||
String LOGIN_MAX_REFRESH_COUNT = "login_maxRefreshCount";
|
||||
|
||||
/**
|
||||
* 凭证续签间隔分
|
||||
*/
|
||||
String LOGIN_REFRESH_INTERVAL = "login_refreshInterval";
|
||||
|
||||
/**
|
||||
* 登录失败锁定
|
||||
*/
|
||||
String LOGIN_LOGIN_FAILED_LOCK = "login_loginFailedLock";
|
||||
|
||||
/**
|
||||
* 登录失败锁定阈值分
|
||||
*/
|
||||
String LOGIN_LOGIN_FAILED_LOCK_THRESHOLD = "login_loginFailedLockThreshold";
|
||||
|
||||
/**
|
||||
* 登录失败锁定时间分
|
||||
*/
|
||||
String LOGIN_LOGIN_FAILED_LOCK_TIME = "login_loginFailedLockTime";
|
||||
|
||||
/**
|
||||
* 登录失败发信
|
||||
*/
|
||||
String LOGIN_LOGIN_FAILED_SEND = "login_loginFailedSend";
|
||||
|
||||
/**
|
||||
* 登录失败发信阈值
|
||||
*/
|
||||
String LOGIN_LOGIN_FAILED_SEND_THRESHOLD = "login_loginFailedSendThreshold";
|
||||
|
||||
/**
|
||||
* 是否开启自动清理命令记录
|
||||
*/
|
||||
String AUTO_CLEAR_EXEC_LOG_ENABLED = "autoClear_execLogEnabled";
|
||||
|
||||
/**
|
||||
* 自动清理命令记录保留天数
|
||||
*/
|
||||
String AUTO_CLEAR_EXEC_LOG_KEEP_DAYS = "autoClear_execLogKeepDays";
|
||||
|
||||
/**
|
||||
* 是否开启自动清理终端连接记录
|
||||
*/
|
||||
String AUTO_CLEAR_TERMINAL_LOG_ENABLED = "autoClear_terminalLogEnabled";
|
||||
|
||||
/**
|
||||
* 自动清理终端连接记录保留天数
|
||||
*/
|
||||
String AUTO_CLEAR_TERMINAL_LOG_KEEP_DAYS = "autoClear_terminalLogKeepDays";
|
||||
|
||||
}
|
||||
|
||||
@@ -40,34 +40,34 @@ public class AppLogConfig {
|
||||
/**
|
||||
* 日志加载偏移行
|
||||
*/
|
||||
private final ConfigRef<Integer> trackerOffset;
|
||||
private final ConfigRef<Integer> trackerLoadLines;
|
||||
|
||||
/**
|
||||
* 日志加载间隔毫秒
|
||||
*/
|
||||
private final ConfigRef<Integer> trackerDelay;
|
||||
private final ConfigRef<Integer> trackerLoadInterval;
|
||||
|
||||
/**
|
||||
* 是否拼接 ansi 执行状态日志
|
||||
* 是否生成详细的执行日志
|
||||
*/
|
||||
private final ConfigRef<Boolean> execAppendAnsi;
|
||||
private final ConfigRef<Boolean> execDetailLog;
|
||||
|
||||
public AppLogConfig(ConfigStore configStore) {
|
||||
this.trackerOffset = configStore.int32(ConfigKeys.LOG_TRACKER_OFFSET);
|
||||
this.trackerDelay = configStore.int32(ConfigKeys.LOG_TRACKER_DELAY);
|
||||
this.execAppendAnsi = configStore.bool(ConfigKeys.LOG_EXEC_APPEND_ANSI);
|
||||
this.trackerLoadLines = configStore.int32(ConfigKeys.LOG_TRACKER_LOAD_LINES);
|
||||
this.trackerLoadInterval = configStore.int32(ConfigKeys.LOG_TRACKER_LOAD_INTERVAL);
|
||||
this.execDetailLog = configStore.bool(ConfigKeys.LOG_EXEC_DETAIL_LOG);
|
||||
}
|
||||
|
||||
public Integer getTrackerOffset() {
|
||||
return trackerOffset.value;
|
||||
public Integer getTrackerLoadLines() {
|
||||
return trackerLoadLines.value;
|
||||
}
|
||||
|
||||
public Integer getTrackerDelay() {
|
||||
return trackerDelay.value;
|
||||
public Integer getTrackerLoadInterval() {
|
||||
return trackerLoadInterval.value;
|
||||
}
|
||||
|
||||
public Boolean getExecAppendAnsi() {
|
||||
return execAppendAnsi.value;
|
||||
public Boolean getExecDetailLog() {
|
||||
return execDetailLog.value;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -78,9 +78,10 @@ export interface EncryptSetting {
|
||||
* 日志设置
|
||||
*/
|
||||
export interface LogSetting {
|
||||
log_trackerOffset: number;
|
||||
log_trackerDelay: number;
|
||||
log_execAppendAnsi: string;
|
||||
log_webScrollLines: number;
|
||||
log_trackerLoadLines: number;
|
||||
log_trackerLoadInterval: number;
|
||||
log_execDetailLog: string;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -9,26 +9,46 @@
|
||||
label-align="right"
|
||||
:auto-label-width="true">
|
||||
<!-- 执行详细日志 -->
|
||||
<a-form-item field="log_execAppendAnsi"
|
||||
<a-form-item field="log_execDetailLog"
|
||||
label="执行详细日志"
|
||||
:rules="[{required: true, message: '请选择此项'}]"
|
||||
hide-asterisk>
|
||||
<a-switch v-model="setting.log_execAppendAnsi"
|
||||
<a-switch v-model="setting.log_execDetailLog"
|
||||
type="round"
|
||||
checked-value="true"
|
||||
unchecked-value="false"
|
||||
checked-text="详细输出"
|
||||
unchecked-text="原始输出" />
|
||||
<template #extra>
|
||||
开启后在命令执行时会拼接详细的日志信息, 关闭后则只显示命令的标准输出
|
||||
开启后在命令执行时会展示详细的日志信息(执行主机、命令等), 关闭后则只显示命令的标准输出
|
||||
</template>
|
||||
</a-form-item>
|
||||
<!-- 最大显示行数 -->
|
||||
<a-form-item field="log_webScrollLines"
|
||||
label="最大显示行数"
|
||||
:rules="[{required: true, message: '请输入日志最大显示行数'}]"
|
||||
hide-asterisk>
|
||||
<a-input-number v-model="setting.log_webScrollLines"
|
||||
class="input-wrapper"
|
||||
:min="0"
|
||||
:max="999999"
|
||||
placeholder="请输入日志最大显示行数"
|
||||
allow-clear
|
||||
hide-button>
|
||||
<template #suffix>
|
||||
行
|
||||
</template>
|
||||
</a-input-number>
|
||||
<template #extra>
|
||||
前端日志组件最大显示的行数, 超出部分将会被覆盖 (数值越大内存占用越多)
|
||||
</template>
|
||||
</a-form-item>
|
||||
<!-- 日志加载行数 -->
|
||||
<a-form-item field="log_trackerOffset"
|
||||
<a-form-item field="log_trackerLoadLines"
|
||||
label="日志加载行数"
|
||||
:rules="[{required: true, message: '请输入日志加载行数'}]"
|
||||
hide-asterisk>
|
||||
<a-input-number v-model="setting.log_trackerOffset"
|
||||
<a-input-number v-model="setting.log_trackerLoadLines"
|
||||
class="input-wrapper"
|
||||
:min="0"
|
||||
:max="99999"
|
||||
@@ -44,11 +64,11 @@
|
||||
</template>
|
||||
</a-form-item>
|
||||
<!-- 日志监听间隔 -->
|
||||
<a-form-item field="log_trackerDelay"
|
||||
<a-form-item field="log_trackerLoadInterval"
|
||||
label="日志监听间隔"
|
||||
:rules="[{required: true, message: '请输入日志监听间隔'}]"
|
||||
hide-asterisk>
|
||||
<a-input-number v-model="setting.log_trackerDelay"
|
||||
<a-input-number v-model="setting.log_trackerLoadInterval"
|
||||
class="input-wrapper"
|
||||
:min="0"
|
||||
:max="99999"
|
||||
@@ -123,8 +143,9 @@
|
||||
const { data } = await getSystemSetting(SystemSettingTypes.LOG);
|
||||
setting.value = {
|
||||
...data,
|
||||
log_trackerDelay: toAnonymousNumber(data.log_trackerDelay),
|
||||
log_trackerOffset: toAnonymousNumber(data.log_trackerOffset),
|
||||
log_webScrollLines: toAnonymousNumber(data.log_webScrollLines),
|
||||
log_trackerLoadInterval: toAnonymousNumber(data.log_trackerLoadInterval),
|
||||
log_trackerLoadLines: toAnonymousNumber(data.log_trackerLoadLines),
|
||||
};
|
||||
} catch (e) {
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user