first commit
This commit is contained in:
36
target/classes/application.yml
Normal file
36
target/classes/application.yml
Normal file
@@ -0,0 +1,36 @@
|
||||
spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://localhost:3306/crawlful_hub?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
|
||||
username: root
|
||||
password: 123456
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
hikari:
|
||||
maximum-pool-size: 10
|
||||
minimum-idle: 5
|
||||
idle-timeout: 30000
|
||||
connection-timeout: 20000
|
||||
max-lifetime: 1800000
|
||||
jpa:
|
||||
hibernate:
|
||||
ddl-auto: update
|
||||
show-sql: true
|
||||
redis:
|
||||
host: localhost
|
||||
port: 6379
|
||||
password:
|
||||
database: 0
|
||||
security:
|
||||
jwt:
|
||||
secret: your-secret-key
|
||||
expiration: 86400000
|
||||
springdoc:
|
||||
api-docs:
|
||||
path: /api-docs
|
||||
swagger-ui:
|
||||
path: /swagger-ui.html
|
||||
enabled: true
|
||||
|
||||
server:
|
||||
port: 3001
|
||||
servlet:
|
||||
context-path: /api
|
||||
BIN
target/classes/com/crawlful/hub/Application.class
Normal file
BIN
target/classes/com/crawlful/hub/Application.class
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
target/classes/com/crawlful/hub/config/CacheConfig.class
Normal file
BIN
target/classes/com/crawlful/hub/config/CacheConfig.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
target/classes/com/crawlful/hub/config/OpenApiConfig.class
Normal file
BIN
target/classes/com/crawlful/hub/config/OpenApiConfig.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
target/classes/com/crawlful/hub/config/RateLimitFilter.class
Normal file
BIN
target/classes/com/crawlful/hub/config/RateLimitFilter.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/config/SecurityConfig.class
Normal file
BIN
target/classes/com/crawlful/hub/config/SecurityConfig.class
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
target/classes/com/crawlful/hub/model/Alert.class
Normal file
BIN
target/classes/com/crawlful/hub/model/Alert.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/model/Audit.class
Normal file
BIN
target/classes/com/crawlful/hub/model/Audit.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/model/Config.class
Normal file
BIN
target/classes/com/crawlful/hub/model/Config.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/model/Logistics.class
Normal file
BIN
target/classes/com/crawlful/hub/model/Logistics.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/model/Order.class
Normal file
BIN
target/classes/com/crawlful/hub/model/Order.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/model/Payment.class
Normal file
BIN
target/classes/com/crawlful/hub/model/Payment.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/model/Product.class
Normal file
BIN
target/classes/com/crawlful/hub/model/Product.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/model/User.class
Normal file
BIN
target/classes/com/crawlful/hub/model/User.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/AlertRepository.class
Normal file
BIN
target/classes/com/crawlful/hub/service/AlertRepository.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/AlertService.class
Normal file
BIN
target/classes/com/crawlful/hub/service/AlertService.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/AuditRepository.class
Normal file
BIN
target/classes/com/crawlful/hub/service/AuditRepository.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/AuditService.class
Normal file
BIN
target/classes/com/crawlful/hub/service/AuditService.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/AuthService.class
Normal file
BIN
target/classes/com/crawlful/hub/service/AuthService.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/ConfigRepository.class
Normal file
BIN
target/classes/com/crawlful/hub/service/ConfigRepository.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/ConfigService.class
Normal file
BIN
target/classes/com/crawlful/hub/service/ConfigService.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/DataService.class
Normal file
BIN
target/classes/com/crawlful/hub/service/DataService.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/LogisticsService.class
Normal file
BIN
target/classes/com/crawlful/hub/service/LogisticsService.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/MonitoringService.class
Normal file
BIN
target/classes/com/crawlful/hub/service/MonitoringService.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/OrderRepository.class
Normal file
BIN
target/classes/com/crawlful/hub/service/OrderRepository.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/OrderService.class
Normal file
BIN
target/classes/com/crawlful/hub/service/OrderService.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/PaymentRepository.class
Normal file
BIN
target/classes/com/crawlful/hub/service/PaymentRepository.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/PaymentService.class
Normal file
BIN
target/classes/com/crawlful/hub/service/PaymentService.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/ProductRepository.class
Normal file
BIN
target/classes/com/crawlful/hub/service/ProductRepository.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/ProductService.class
Normal file
BIN
target/classes/com/crawlful/hub/service/ProductService.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/ReportService.class
Normal file
BIN
target/classes/com/crawlful/hub/service/ReportService.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/UserRepository.class
Normal file
BIN
target/classes/com/crawlful/hub/service/UserRepository.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/service/UserService.class
Normal file
BIN
target/classes/com/crawlful/hub/service/UserService.class
Normal file
Binary file not shown.
BIN
target/classes/com/crawlful/hub/util/ValidationUtil.class
Normal file
BIN
target/classes/com/crawlful/hub/util/ValidationUtil.class
Normal file
Binary file not shown.
130
target/classes/db/migration/V1__init_schema.sql
Normal file
130
target/classes/db/migration/V1__init_schema.sql
Normal file
@@ -0,0 +1,130 @@
|
||||
-- 创建用户表
|
||||
CREATE TABLE IF NOT EXISTS cf_user (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
tenant_id VARCHAR(255) NOT NULL,
|
||||
username VARCHAR(255) NOT NULL UNIQUE,
|
||||
password VARCHAR(255) NOT NULL,
|
||||
email VARCHAR(255) NOT NULL UNIQUE,
|
||||
role VARCHAR(50),
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- 创建商品表
|
||||
CREATE TABLE IF NOT EXISTS cf_product (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
tenant_id VARCHAR(255) NOT NULL,
|
||||
shop_id VARCHAR(255),
|
||||
title VARCHAR(255) NOT NULL,
|
||||
description TEXT,
|
||||
main_image VARCHAR(255),
|
||||
platform VARCHAR(50),
|
||||
platform_product_id VARCHAR(255),
|
||||
price DECIMAL(10,2),
|
||||
cost_price DECIMAL(10,2),
|
||||
quantity INT,
|
||||
status VARCHAR(50),
|
||||
phash VARCHAR(255),
|
||||
semantic_hash VARCHAR(255),
|
||||
vector_embedding TEXT,
|
||||
attributes JSON,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- 创建订单表
|
||||
CREATE TABLE IF NOT EXISTS cf_order (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
tenant_id VARCHAR(255) NOT NULL,
|
||||
shop_id VARCHAR(255),
|
||||
platform VARCHAR(50),
|
||||
platform_order_id VARCHAR(255),
|
||||
status VARCHAR(50),
|
||||
total_amount DECIMAL(10,2),
|
||||
currency VARCHAR(10),
|
||||
customer_info JSON,
|
||||
items JSON,
|
||||
shipping_address JSON,
|
||||
tracking_number VARCHAR(255),
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- 创建支付表
|
||||
CREATE TABLE IF NOT EXISTS cf_payment (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
tenant_id VARCHAR(255) NOT NULL,
|
||||
order_id BIGINT,
|
||||
payment_method VARCHAR(50),
|
||||
amount DECIMAL(10,2),
|
||||
currency VARCHAR(10),
|
||||
status VARCHAR(50),
|
||||
transaction_id VARCHAR(255),
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (order_id) REFERENCES cf_order(id)
|
||||
);
|
||||
|
||||
-- 创建物流表
|
||||
CREATE TABLE IF NOT EXISTS cf_logistics (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
tenant_id VARCHAR(255) NOT NULL,
|
||||
order_id BIGINT,
|
||||
shipping_method VARCHAR(50),
|
||||
tracking_number VARCHAR(255),
|
||||
carrier VARCHAR(50),
|
||||
status VARCHAR(50),
|
||||
estimated_delivery_date DATETIME,
|
||||
actual_delivery_date DATETIME,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (order_id) REFERENCES cf_order(id)
|
||||
);
|
||||
|
||||
-- 创建配置表
|
||||
CREATE TABLE IF NOT EXISTS cf_config (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
tenant_id VARCHAR(255),
|
||||
shop_id VARCHAR(255),
|
||||
config_key VARCHAR(255) NOT NULL,
|
||||
config_value VARCHAR(255) NOT NULL,
|
||||
config_type VARCHAR(50),
|
||||
description TEXT,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- 创建审计表
|
||||
CREATE TABLE IF NOT EXISTS cf_audit (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
tenant_id VARCHAR(255),
|
||||
shop_id VARCHAR(255),
|
||||
user_id BIGINT,
|
||||
action VARCHAR(255),
|
||||
resource_type VARCHAR(255),
|
||||
resource_id VARCHAR(255),
|
||||
ip_address VARCHAR(100),
|
||||
user_agent TEXT,
|
||||
details TEXT,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- 创建索引
|
||||
CREATE INDEX IF NOT EXISTS idx_user_tenant_id ON cf_user(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_product_tenant_id ON cf_product(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_product_platform ON cf_product(platform);
|
||||
CREATE INDEX IF NOT EXISTS idx_order_tenant_id ON cf_order(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_order_platform ON cf_order(platform);
|
||||
CREATE INDEX IF NOT EXISTS idx_payment_tenant_id ON cf_payment(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_payment_order_id ON cf_payment(order_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_logistics_tenant_id ON cf_logistics(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_logistics_order_id ON cf_logistics(order_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_config_tenant_id ON cf_config(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_config_shop_id ON cf_config(shop_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_config_key ON cf_config(config_key);
|
||||
CREATE INDEX IF NOT EXISTS idx_audit_tenant_id ON cf_audit(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_audit_shop_id ON cf_audit(shop_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_audit_user_id ON cf_audit(user_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_audit_action ON cf_audit(action);
|
||||
CREATE INDEX IF NOT EXISTS idx_audit_resource_type ON cf_audit(resource_type);
|
||||
CREATE INDEX IF NOT EXISTS idx_audit_created_at ON cf_audit(created_at);
|
||||
21
target/classes/db/migration/V2__add_alert_table.sql
Normal file
21
target/classes/db/migration/V2__add_alert_table.sql
Normal file
@@ -0,0 +1,21 @@
|
||||
-- 创建告警表
|
||||
CREATE TABLE IF NOT EXISTS cf_alert (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
tenant_id VARCHAR(255) NOT NULL,
|
||||
alert_type VARCHAR(50),
|
||||
severity VARCHAR(50),
|
||||
message TEXT,
|
||||
status VARCHAR(50),
|
||||
source VARCHAR(255),
|
||||
threshold VARCHAR(255),
|
||||
actual_value VARCHAR(255),
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
resolved_at DATETIME
|
||||
);
|
||||
|
||||
-- 为告警表添加索引
|
||||
CREATE INDEX IF NOT EXISTS idx_alert_tenant_id ON cf_alert(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_alert_status ON cf_alert(status);
|
||||
CREATE INDEX IF NOT EXISTS idx_alert_severity ON cf_alert(severity);
|
||||
CREATE INDEX IF NOT EXISTS idx_alert_alert_type ON cf_alert(alert_type);
|
||||
CREATE INDEX IF NOT EXISTS idx_alert_created_at ON cf_alert(created_at);
|
||||
62
target/classes/i18n/messages.properties
Normal file
62
target/classes/i18n/messages.properties
Normal file
@@ -0,0 +1,62 @@
|
||||
# Authentication messages
|
||||
auth.register.success=User registered successfully
|
||||
auth.login.success=Login successful
|
||||
auth.login.failure=Invalid username or password
|
||||
auth.username.required=Username is required
|
||||
auth.password.required=Password is required
|
||||
auth.email.required=Email is required
|
||||
auth.email.invalid=Invalid email format
|
||||
auth.password.minlength=Password must be at least 6 characters
|
||||
auth.username.minlength=Username must be at least 3 characters
|
||||
auth.username.exists=Username already exists
|
||||
|
||||
# Product messages
|
||||
product.create.success=Product created successfully
|
||||
product.update.success=Product updated successfully
|
||||
product.delete.success=Product deleted successfully
|
||||
product.not.found=Product not found
|
||||
product.title.required=Product title is required
|
||||
product.price.required=Product price is required
|
||||
product.price.positive=Product price must be positive
|
||||
|
||||
# Order messages
|
||||
order.create.success=Order created successfully
|
||||
order.update.success=Order updated successfully
|
||||
order.not.found=Order not found
|
||||
order.status.updated=Order status updated successfully
|
||||
|
||||
# Payment messages
|
||||
payment.create.success=Payment created successfully
|
||||
payment.update.success=Payment updated successfully
|
||||
payment.not.found=Payment not found
|
||||
payment.status.updated=Payment status updated successfully
|
||||
|
||||
# Logistics messages
|
||||
logistics.create.success=Logistics created successfully
|
||||
logistics.update.success=Logistics updated successfully
|
||||
logistics.not.found=Logistics not found
|
||||
logistics.status.updated=Logistics status updated successfully
|
||||
|
||||
# Alert messages
|
||||
alert.create.success=Alert created successfully
|
||||
alert.update.success=Alert updated successfully
|
||||
alert.resolve.success=Alert resolved successfully
|
||||
alert.not.found=Alert not found
|
||||
|
||||
# Monitoring messages
|
||||
monitoring.health.ok=System health is OK
|
||||
monitoring.health.error=System health check failed
|
||||
monitoring.metrics.success=Performance metrics retrieved successfully
|
||||
monitoring.services.success=Service status retrieved successfully
|
||||
monitoring.database.success=Database status retrieved successfully
|
||||
monitoring.cache.success=Cache status retrieved successfully
|
||||
monitoring.stats.success=System stats retrieved successfully
|
||||
|
||||
# Common messages
|
||||
common.success=Operation successful
|
||||
common.error=Operation failed
|
||||
common.invalid.request=Invalid request
|
||||
common.missing.parameter=Missing required parameter
|
||||
common.not.found=Resource not found
|
||||
common.access.denied=Access denied
|
||||
common.server.error=Server internal error
|
||||
62
target/classes/i18n/messages_zh.properties
Normal file
62
target/classes/i18n/messages_zh.properties
Normal file
@@ -0,0 +1,62 @@
|
||||
# Authentication messages
|
||||
auth.register.success=用户注册成功
|
||||
auth.login.success=登录成功
|
||||
auth.login.failure=用户名或密码错误
|
||||
auth.username.required=用户名不能为空
|
||||
auth.password.required=密码不能为空
|
||||
auth.email.required=邮箱不能为空
|
||||
auth.email.invalid=邮箱格式错误
|
||||
auth.password.minlength=密码至少6个字符
|
||||
auth.username.minlength=用户名至少3个字符
|
||||
auth.username.exists=用户名已存在
|
||||
|
||||
# Product messages
|
||||
product.create.success=商品创建成功
|
||||
product.update.success=商品更新成功
|
||||
product.delete.success=商品删除成功
|
||||
product.not.found=商品不存在
|
||||
product.title.required=商品标题不能为空
|
||||
product.price.required=商品价格不能为空
|
||||
product.price.positive=商品价格必须大于0
|
||||
|
||||
# Order messages
|
||||
order.create.success=订单创建成功
|
||||
order.update.success=订单更新成功
|
||||
order.not.found=订单不存在
|
||||
order.status.updated=订单状态更新成功
|
||||
|
||||
# Payment messages
|
||||
payment.create.success=支付创建成功
|
||||
payment.update.success=支付更新成功
|
||||
payment.not.found=支付不存在
|
||||
payment.status.updated=支付状态更新成功
|
||||
|
||||
# Logistics messages
|
||||
logistics.create.success=物流创建成功
|
||||
logistics.update.success=物流更新成功
|
||||
logistics.not.found=物流不存在
|
||||
logistics.status.updated=物流状态更新成功
|
||||
|
||||
# Alert messages
|
||||
alert.create.success=告警创建成功
|
||||
alert.update.success=告警更新成功
|
||||
alert.resolve.success=告警已解决
|
||||
alert.not.found=告警不存在
|
||||
|
||||
# Monitoring messages
|
||||
monitoring.health.ok=系统健康状态良好
|
||||
monitoring.health.error=系统健康检查失败
|
||||
monitoring.metrics.success=性能指标获取成功
|
||||
monitoring.services.success=服务状态获取成功
|
||||
monitoring.database.success=数据库状态获取成功
|
||||
monitoring.cache.success=缓存状态获取成功
|
||||
monitoring.stats.success=系统统计信息获取成功
|
||||
|
||||
# Common messages
|
||||
common.success=操作成功
|
||||
common.error=操作失败
|
||||
common.invalid.request=无效的请求
|
||||
common.missing.parameter=缺少必要参数
|
||||
common.not.found=资源不存在
|
||||
common.access.denied=访问被拒绝
|
||||
common.server.error=服务器内部错误
|
||||
83
target/classes/logback.xml
Normal file
83
target/classes/logback.xml
Normal file
@@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
<property name="LOG_HOME" value="./logs" />
|
||||
|
||||
<!-- 控制台输出 -->
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- 文件输出 -->
|
||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_HOME}/app.log</file>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_HOME}/app-%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||
<maxHistory>30</maxHistory>
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- 错误日志 -->
|
||||
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_HOME}/error.log</file>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_HOME}/error-%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||
<maxHistory>30</maxHistory>
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<level>ERROR</level>
|
||||
<onMatch>ACCEPT</onMatch>
|
||||
<onMismatch>DENY</onMismatch>
|
||||
</filter>
|
||||
</appender>
|
||||
|
||||
<!-- 业务日志 -->
|
||||
<appender name="BUSINESS_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_HOME}/business.log</file>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_HOME}/business-%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||
<maxHistory>30</maxHistory>
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- 根日志配置 -->
|
||||
<root level="info">
|
||||
<appender-ref ref="CONSOLE" />
|
||||
<appender-ref ref="FILE" />
|
||||
<appender-ref ref="ERROR_FILE" />
|
||||
</root>
|
||||
|
||||
<!-- 业务日志配置 -->
|
||||
<logger name="com.crawlful.hub.service" level="info" additivity="false">
|
||||
<appender-ref ref="BUSINESS_FILE" />
|
||||
<appender-ref ref="CONSOLE" />
|
||||
</logger>
|
||||
|
||||
<!-- 控制器日志配置 -->
|
||||
<logger name="com.crawlful.hub.api.controllers" level="info" additivity="false">
|
||||
<appender-ref ref="FILE" />
|
||||
<appender-ref ref="CONSOLE" />
|
||||
</logger>
|
||||
|
||||
<!-- 数据库日志配置 -->
|
||||
<logger name="org.springframework.data.jpa" level="warn" additivity="false">
|
||||
<appender-ref ref="FILE" />
|
||||
<appender-ref ref="CONSOLE" />
|
||||
</logger>
|
||||
|
||||
<!-- 安全日志配置 -->
|
||||
<logger name="org.springframework.security" level="warn" additivity="false">
|
||||
<appender-ref ref="FILE" />
|
||||
<appender-ref ref="CONSOLE" />
|
||||
</logger>
|
||||
</configuration>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user