Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
IM
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBizPOC_20003
IM
提交
dc5c7318
提交
dc5c7318
编写于
3月 31, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ibizdev提交
上级
d506219a
变更
13
显示空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
427 行增加
和
120 行删除
+427
-120
config.xml
config.xml
+6
-6
WFASService.java
...rc/main/java/com/ibiz/wfweb/htwf/service/WFASService.java
+25
-11
WFBCService.java
...rc/main/java/com/ibiz/wfweb/htwf/service/WFBCService.java
+25
-11
WFBMService.java
...rc/main/java/com/ibiz/wfweb/htwf/service/WFBMService.java
+25
-11
WFIMService.java
...rc/main/java/com/ibiz/wfweb/htwf/service/WFIMService.java
+25
-11
application-wfweb.yml
im-app/im-app-wfweb/src/main/resources/application-wfweb.yml
+5
-5
application-wfweb2.yml
...p/im-app-wfweb2/src/main/resources/application-wfweb2.yml
+5
-5
application-dev.yml
im-boot/src/main/resources/application-dev.yml
+1
-1
IMGetMPRule.drl
im-core/src/main/resources/rules/IMGetMPRule.drl
+1
-1
MybatisConfiguration.java
...in/java/com/ibiz/mybatis/config/MybatisConfiguration.java
+3
-1
LogAspect.java
im-util/src/main/java/com/ibiz/util/log/LogAspect.java
+4
-0
LoggerUtil.java
im-util/src/main/java/com/ibiz/util/log/LoggerUtil.java
+90
-0
logback-spring.xml
im-util/src/main/resources/logback-spring.xml
+212
-57
未找到文件。
config.xml
浏览文件 @
dc5c7318
...
...
@@ -40,14 +40,14 @@
mvn install
cd ..
mvn install
cd im-
app/im-app-web
mvn clean package
-Pprod
cd im-
boot
mvn clean package
echo
'
echo
"
$para1
"'
>
apppasswd.sh
chmod -R 777 *
setsid env SSH_ASKPASS=
'
./apppasswd.sh
'
DISPLAY=
'
none:0
'
ssh root@172.16.102.61
"
mkdir -p /ibiz/nodes/node1/
2C5840FD-07EF-4719-9D83-6E960583E30D
"
setsid env SSH_ASKPASS=
'
./apppasswd.sh
'
DISPLAY=
'
none:0
'
scp -r ./target/im
-app-web.jar root@172.16.102.61:/ibiz/nodes/node1/2C5840FD-07EF-4719-9D83-6E960583E30D
setsid env SSH_ASKPASS=
'
./apppasswd.sh
'
DISPLAY=
'
none:0
'
ssh root@172.16.102.61
"
ps -ef | grep
'
/ibiz/nodes/node1/
2C5840FD-07EF-4719-9D83-6E960583E30D
'
| tr -s
'
'
|cut -d
'
'
-f2,8,9 | grep -v grep | grep
'
jar
'
| cut -d
'
'
-f1|xargs --no-run-if-empty kill -9
"
setsid env SSH_ASKPASS=
'
./apppasswd.sh
'
DISPLAY=
'
none:0
'
ssh root@172.16.102.61
"
source /etc/profile;source ~/.bash_profile; nohup java -jar -Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=128m /ibiz/nodes/node1/
2C5840FD-07EF-4719-9D83-6E960583E30D/im-app-web.jar
>>
/ibiz/nodes/node1/2C5840FD-07EF-4719-9D83-6E960583E30D/im_appim 业务应用
-`date --date=
'
0 days ago
'
+%Y-%m-%d`.log 2
>&
1
&"
setsid env SSH_ASKPASS=
'
./apppasswd.sh
'
DISPLAY=
'
none:0
'
ssh root@172.16.102.61
"
mkdir -p /ibiz/nodes/node1/
DEEE206E-53BF-4A76-BBB4-0DBBAFEE9439
"
setsid env SSH_ASKPASS=
'
./apppasswd.sh
'
DISPLAY=
'
none:0
'
scp -r ./target/im
.jar root@172.16.102.61:/ibiz/nodes/node1/DEEE206E-53BF-4A76-BBB4-0DBBAFEE9439
setsid env SSH_ASKPASS=
'
./apppasswd.sh
'
DISPLAY=
'
none:0
'
ssh root@172.16.102.61
"
ps -ef | grep
'
/ibiz/nodes/node1/
DEEE206E-53BF-4A76-BBB4-0DBBAFEE9439
'
| tr -s
'
'
|cut -d
'
'
-f2,8,9 | grep -v grep | grep
'
jar
'
| cut -d
'
'
-f1|xargs --no-run-if-empty kill -9
"
setsid env SSH_ASKPASS=
'
./apppasswd.sh
'
DISPLAY=
'
none:0
'
ssh root@172.16.102.61
"
source /etc/profile;source ~/.bash_profile; nohup java -jar -Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=128m /ibiz/nodes/node1/
DEEE206E-53BF-4A76-BBB4-0DBBAFEE9439/im.jar
>>
/ibiz/nodes/node1/DEEE206E-53BF-4A76-BBB4-0DBBAFEE9439/im_apiim 服务
-`date --date=
'
0 days ago
'
+%Y-%m-%d`.log 2
>&
1
&"
</command>
</hudson.tasks.Shell>
</builders>
...
...
im-app/im-app-wfweb/src/main/java/com/ibiz/wfweb/htwf/service/WFASService.java
浏览文件 @
dc5c7318
...
...
@@ -239,9 +239,21 @@ public class WFASService {
// 登录用户信息
LoginUser
loginUser
=
SpringContextHolder
.
getCurLoginUser
();
if
(
loginUser
==
null
)
{
JSONObject
jsonLoginUser
=
data
.
getJSONObject
(
"loginuser"
);
if
(
jsonLoginUser
==
null
)
{
data
.
put
(
"srfmsg"
,
"用户未登录"
);
return
false
;
}
// 组织信息存储
wfinstance
.
setOriginpersonid
(
jsonLoginUser
.
getString
(
"personId"
));
wfinstance
.
setOriginpersonname
(
jsonLoginUser
.
getString
(
"orgUserName"
));
wfinstance
.
setOriginorgid
(
jsonLoginUser
.
getString
(
"orgId"
));
wfinstance
.
setOriginorgname
(
jsonLoginUser
.
getString
(
"orgName"
));
wfinstance
.
setOriginorgdeptid
(
jsonLoginUser
.
getString
(
"orgDeptId"
));
wfinstance
.
setOriginorgdeptname
(
jsonLoginUser
.
getString
(
"orgDeptName"
));
loginuserStr
=
jsonLoginUser
.
getString
(
"personId"
);
}
else
{
// 组织信息存储
wfinstance
.
setOriginpersonid
(
loginUser
.
getPersonId
());
wfinstance
.
setOriginpersonname
(
loginUser
.
getOrgUserName
());
...
...
@@ -252,6 +264,8 @@ public class WFASService {
loginuserStr
=
loginUser
.
getPersonId
();
}
}
wfinstance
=
uniWFFeignClient
.
createWFInstance
(
wfinstance
);
wfas
.
setWfinstanceid
(
wfinstance
.
getWfinstanceid
());
client
.
update
(
wfas_id
,
wfas
);
...
...
im-app/im-app-wfweb/src/main/java/com/ibiz/wfweb/htwf/service/WFBCService.java
浏览文件 @
dc5c7318
...
...
@@ -239,9 +239,21 @@ public class WFBCService {
// 登录用户信息
LoginUser
loginUser
=
SpringContextHolder
.
getCurLoginUser
();
if
(
loginUser
==
null
)
{
JSONObject
jsonLoginUser
=
data
.
getJSONObject
(
"loginuser"
);
if
(
jsonLoginUser
==
null
)
{
data
.
put
(
"srfmsg"
,
"用户未登录"
);
return
false
;
}
// 组织信息存储
wfinstance
.
setOriginpersonid
(
jsonLoginUser
.
getString
(
"personId"
));
wfinstance
.
setOriginpersonname
(
jsonLoginUser
.
getString
(
"orgUserName"
));
wfinstance
.
setOriginorgid
(
jsonLoginUser
.
getString
(
"orgId"
));
wfinstance
.
setOriginorgname
(
jsonLoginUser
.
getString
(
"orgName"
));
wfinstance
.
setOriginorgdeptid
(
jsonLoginUser
.
getString
(
"orgDeptId"
));
wfinstance
.
setOriginorgdeptname
(
jsonLoginUser
.
getString
(
"orgDeptName"
));
loginuserStr
=
jsonLoginUser
.
getString
(
"personId"
);
}
else
{
// 组织信息存储
wfinstance
.
setOriginpersonid
(
loginUser
.
getPersonId
());
wfinstance
.
setOriginpersonname
(
loginUser
.
getOrgUserName
());
...
...
@@ -252,6 +264,8 @@ public class WFBCService {
loginuserStr
=
loginUser
.
getPersonId
();
}
}
wfinstance
=
uniWFFeignClient
.
createWFInstance
(
wfinstance
);
wfbc
.
setWfinstanceid
(
wfinstance
.
getWfinstanceid
());
client
.
update
(
wfbc_id
,
wfbc
);
...
...
im-app/im-app-wfweb/src/main/java/com/ibiz/wfweb/htwf/service/WFBMService.java
浏览文件 @
dc5c7318
...
...
@@ -239,9 +239,21 @@ public class WFBMService {
// 登录用户信息
LoginUser
loginUser
=
SpringContextHolder
.
getCurLoginUser
();
if
(
loginUser
==
null
)
{
JSONObject
jsonLoginUser
=
data
.
getJSONObject
(
"loginuser"
);
if
(
jsonLoginUser
==
null
)
{
data
.
put
(
"srfmsg"
,
"用户未登录"
);
return
false
;
}
// 组织信息存储
wfinstance
.
setOriginpersonid
(
jsonLoginUser
.
getString
(
"personId"
));
wfinstance
.
setOriginpersonname
(
jsonLoginUser
.
getString
(
"orgUserName"
));
wfinstance
.
setOriginorgid
(
jsonLoginUser
.
getString
(
"orgId"
));
wfinstance
.
setOriginorgname
(
jsonLoginUser
.
getString
(
"orgName"
));
wfinstance
.
setOriginorgdeptid
(
jsonLoginUser
.
getString
(
"orgDeptId"
));
wfinstance
.
setOriginorgdeptname
(
jsonLoginUser
.
getString
(
"orgDeptName"
));
loginuserStr
=
jsonLoginUser
.
getString
(
"personId"
);
}
else
{
// 组织信息存储
wfinstance
.
setOriginpersonid
(
loginUser
.
getPersonId
());
wfinstance
.
setOriginpersonname
(
loginUser
.
getOrgUserName
());
...
...
@@ -252,6 +264,8 @@ public class WFBMService {
loginuserStr
=
loginUser
.
getPersonId
();
}
}
wfinstance
=
uniWFFeignClient
.
createWFInstance
(
wfinstance
);
wfbm
.
setWfinstanceid
(
wfinstance
.
getWfinstanceid
());
client
.
update
(
wfbm_id
,
wfbm
);
...
...
im-app/im-app-wfweb/src/main/java/com/ibiz/wfweb/htwf/service/WFIMService.java
浏览文件 @
dc5c7318
...
...
@@ -239,9 +239,21 @@ public class WFIMService {
// 登录用户信息
LoginUser
loginUser
=
SpringContextHolder
.
getCurLoginUser
();
if
(
loginUser
==
null
)
{
JSONObject
jsonLoginUser
=
data
.
getJSONObject
(
"loginuser"
);
if
(
jsonLoginUser
==
null
)
{
data
.
put
(
"srfmsg"
,
"用户未登录"
);
return
false
;
}
// 组织信息存储
wfinstance
.
setOriginpersonid
(
jsonLoginUser
.
getString
(
"personId"
));
wfinstance
.
setOriginpersonname
(
jsonLoginUser
.
getString
(
"orgUserName"
));
wfinstance
.
setOriginorgid
(
jsonLoginUser
.
getString
(
"orgId"
));
wfinstance
.
setOriginorgname
(
jsonLoginUser
.
getString
(
"orgName"
));
wfinstance
.
setOriginorgdeptid
(
jsonLoginUser
.
getString
(
"orgDeptId"
));
wfinstance
.
setOriginorgdeptname
(
jsonLoginUser
.
getString
(
"orgDeptName"
));
loginuserStr
=
jsonLoginUser
.
getString
(
"personId"
);
}
else
{
// 组织信息存储
wfinstance
.
setOriginpersonid
(
loginUser
.
getPersonId
());
wfinstance
.
setOriginpersonname
(
loginUser
.
getOrgUserName
());
...
...
@@ -252,6 +264,8 @@ public class WFIMService {
loginuserStr
=
loginUser
.
getPersonId
();
}
}
wfinstance
=
uniWFFeignClient
.
createWFInstance
(
wfinstance
);
wfim
.
setWfinstanceid
(
wfinstance
.
getWfinstanceid
());
client
.
update
(
wfim_id
,
wfim
);
...
...
im-app/im-app-wfweb/src/main/resources/application-wfweb.yml
浏览文件 @
dc5c7318
server
:
devmode
:
fals
e
port
:
8
202
devmode
:
tru
e
port
:
8
080
servlet
:
session
:
cookie
:
...
...
@@ -17,11 +17,11 @@ spring:
security
:
cas
:
server
:
host
:
http
s://passport
.ibizlab.cn
host
:
http
://passportcs
.ibizlab.cn
login
:
${security.cas.server.host}/login
logout
:
${security.cas.server.host}/logout
service
:
host
:
http://
172.16.102.61
:${server.port}
host
:
http://
localhost
:${server.port}
login
:
/login/cas
logout
:
/logout
...
...
@@ -36,7 +36,7 @@ logging:
app
:
web
:
url
:
http://
172.16.102.61
:${server.port}
url
:
http://
localhost
:${server.port}
wfstarturl
:
/#/%s/null/editview
# wfviewurl: /#/dewfdataredirectview
wfviewurl
:
/#/appwfdataredirectview
...
...
im-app/im-app-wfweb2/src/main/resources/application-wfweb2.yml
浏览文件 @
dc5c7318
server
:
devmode
:
fals
e
port
:
8
202
devmode
:
tru
e
port
:
8
080
servlet
:
session
:
cookie
:
...
...
@@ -17,11 +17,11 @@ spring:
security
:
cas
:
server
:
host
:
http
s://passport
.ibizlab.cn
host
:
http
://passportcs
.ibizlab.cn
login
:
${security.cas.server.host}/login
logout
:
${security.cas.server.host}/logout
service
:
host
:
http://
172.16.102.61
:${server.port}
host
:
http://
localhost
:${server.port}
login
:
/login/cas
logout
:
/logout
...
...
@@ -36,7 +36,7 @@ logging:
app
:
web
:
url
:
http://
172.16.102.61
:${server.port}
url
:
http://
localhost
:${server.port}
wfstarturl
:
/#/%s/null/editview
# wfviewurl: /#/dewfdataredirectview
wfviewurl
:
/#/appwfdataredirectview
...
...
im-boot/src/main/resources/application-dev.yml
浏览文件 @
dc5c7318
server
:
port
:
8
080
port
:
8
101
spring
:
application
:
...
...
im-core/src/main/resources/rules/IMGetMPRule.drl
浏览文件 @
dc5c7318
im-mybatis/src/main/java/com/ibiz/mybatis/config/MybatisConfiguration.java
浏览文件 @
dc5c7318
package
com
.
ibiz
.
mybatis
.
config
;
import
com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties
;
import
com.ibiz.util.helper.UniqueNameGenerator
;
import
com.baomidou.mybatisplus.core.injector.ISqlInjector
;
import
com.baomidou.mybatisplus.extension.injector.LogicSqlInjector
;
import
com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor
;
...
...
@@ -15,7 +17,7 @@ import java.util.Properties;
* mybatis全局配置类
*/
@Configuration
@MapperScan
(
"com.ibiz.mybatis.*.mapper"
)
@MapperScan
(
value
=
"com.ibiz.mybatis.*.mapper"
,
nameGenerator
=
UniqueNameGenerator
.
class
)
public
class
MybatisConfiguration
{
/**
...
...
im-util/src/main/java/com/ibiz/util/log/LogAspect.java
浏览文件 @
dc5c7318
...
...
@@ -26,6 +26,10 @@ import static com.ibiz.util.log.LogMessage.*;
*/
@Aspect
@Component
/**
* 不支持private方法切入。
*/
@Deprecated
public
class
LogAspect
{
@Pointcut
(
"execution(public * com.ibiz..*.*(..))"
)
private
void
pointCut
()
{
...
...
im-util/src/main/java/com/ibiz/util/log/LoggerUtil.java
0 → 100644
浏览文件 @
dc5c7318
package
com
.
ibiz
.
util
.
log
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
static
com
.
ibiz
.
util
.
log
.
LogMessage
.*;
public
class
LoggerUtil
{
public
static
ThreadLocal
<
Long
>
startSet
=
new
ThreadLocal
<>();
/**
* 打印日志:开始方法(业务调用)
*
* @param params 调用原方法入参
*/
public
static
void
startLog
(
Object
...
params
)
{
String
loggerName
=
getClassName
();
Logger
log
=
LoggerFactory
.
getLogger
(
loggerName
);
log
.
info
(
LogMessage
.
Function_Start
,
loggerName
);
log
.
debug
(
LogMessage
.
Params
,
getStr
(
params
));
startSet
.
set
(
System
.
currentTimeMillis
());
}
/**
* 打印日志:结束方法(业务调用)
*
* @param params 调用工具类的原方法返回值。
*/
public
static
void
endLog
(
Object
...
params
)
{
Long
start
=
startSet
.
get
();
String
loggerName
=
getClassName
();
Logger
log
=
LoggerFactory
.
getLogger
(
loggerName
);
log
.
info
(
Function_End
,
loggerName
);
log
.
debug
(
ReturnedValue
,
getStr
(
params
));
if
(
start
!=
null
)
{
startSet
.
remove
();
log
.
debug
(
TimeCost
,
System
.
currentTimeMillis
()
-
start
);
}
}
public
static
void
error
(
String
msg
)
{
LoggerFactory
.
getLogger
(
getClassName
()).
error
(
msg
);
}
public
static
void
error
(
String
msg
,
Object
...
obj
)
{
LoggerFactory
.
getLogger
(
getClassName
()).
error
(
msg
,
obj
);
}
public
static
void
warn
(
String
msg
)
{
LoggerFactory
.
getLogger
(
getClassName
()).
error
(
msg
);
}
public
static
void
warn
(
String
msg
,
Object
...
obj
)
{
LoggerFactory
.
getLogger
(
getClassName
()).
error
(
msg
,
obj
);
}
public
static
void
info
(
String
msg
)
{
LoggerFactory
.
getLogger
(
getClassName
()).
info
(
msg
);
}
public
static
void
info
(
String
msg
,
Object
...
obj
)
{
LoggerFactory
.
getLogger
(
getClassName
()).
info
(
msg
,
obj
);
}
public
static
void
debug
(
String
msg
)
{
LoggerFactory
.
getLogger
(
getClassName
()).
debug
(
msg
);
}
public
static
void
debug
(
String
msg
,
Object
...
obj
)
{
LoggerFactory
.
getLogger
(
getClassName
()).
debug
(
msg
,
obj
);
}
/**
* 获取调用 LoggerUtil工具静态类的类名
*
* @return 长类名.方法名(行数)
* ps: 获取【行数】影响性能,生产环境中不建议打印行数。
*/
private
static
String
getClassName
()
{
StackTraceElement
element
=
Thread
.
currentThread
().
getStackTrace
()[
3
];
//从程序栈中获取定位信息
String
className
=
element
.
getClassName
();
String
methodName
=
element
.
getMethodName
();
int
lineNum
=
element
.
getLineNumber
();
// return className + "." + methodName;
return
String
.
format
(
"%s.%s(%s)"
,
className
,
methodName
,
lineNum
);
}
}
\ No newline at end of file
im-util/src/main/resources/logback-spring.xml
浏览文件 @
dc5c7318
<?xml version="1.0" encoding="UTF-8"?>
<configuration
debug=
"false"
>
<springProperty
scope=
"context"
name=
"systemname"
source=
"ibiz.systemname"
/>
<property
name=
"LOG_PATH"
value=
"logs"
/>
<!--MDC自定义内容添加。-->
<!--<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] [%-5level] %-40.40logger{39} [%m][%X{mdc_trace_id}]: %msg%n" />-->
<property
name=
"LOG_PATTERN"
value=
"%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] [%-5level] %-40.40logger{39} [%method]: %msg%n"
/>
<!--<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] [%-5level] %-40.40logger{39} : %msg%n" />-->
<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<conversionRule
conversionWord=
"clr"
converterClass=
"org.springframework.boot.logging.logback.ColorConverter"
/>
<conversionRule
conversionWord=
"wex"
converterClass=
"org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"
/>
<conversionRule
conversionWord=
"wEx"
converterClass=
"org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"
/>
<!-- 彩色日志格式 -->
<property
name=
"LOG_PATTERN2"
value=
"${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr([${LOG_LEVEL_PATTERN:-%5p}]) %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"
/>
<!-- 控制台输出 -->
<appender
name=
"console"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<!--
scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。
scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
当scan为true时,此属性生效。默认的时间间隔为1分钟。
时间单位:milliseconds, seconds, minutes , hours
debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
-->
<configuration
scan=
"false"
scanPeriod=
"60 seconds"
debug=
"false"
>
<!--引用yaml文件配置,可以使用${变量名}方式使用-->
<!--设置变量,name为变量名,value为值,可以使用${变量名}方式使用-->
<property
name=
"LOG_PATH"
value=
"logs"
/>
<property
name=
"systemname"
value=
"im"
/>
<!--
定义PatternLayoutEncoder中日志输出格式:
%d{yyyy-MM-dd HH:mm:ss.SSS} 时间戳及时间格式
%t 当前线程
%level 日志级别
%颜色名(正则) 用于控制台彩色日志生成
%logger 日志名(类/类+方法)名
%method 当前logger所在方法。
%msg 日志信息。
%n 换行。
X{key:-defaultVal}、mdc{key:-defaultVal} 输出生成日志事件的线程的 MDC(自定义参数)
%logger{39} 设置最大允许长度为39,超过将从最左边字符开始简写,但不包含最右边的部分。
%-20.30logger logger长度小于20,右边开始填充空格,大于30从前面开始阶段
其他格式标识见官网说明:http://www.logback.cn/06%E7%AC%AC%E5%85%AD%E7%AB%A0Layouts.html
-->
<!--日志打印正则,用于文件输出-->
<property
name=
"LOG_PATTERN"
value=
"%d{yyyy-MM-dd HH:mm:ss.SSS} [%t][%-5level] %-40.40logger{39} [%method]: %msg%n"
/>
<!--日志打印正则(带彩色日志),用于控制台输出-->
<property
name=
"LOG_PATTERN_Color"
value=
"%d{yyyy-MM-dd HH:mm:ss.SSS} [${systemname}][%t] %highlight([%-5level]) %yellow(%-40.40logger{39}) %cyan([%method]): %msg%n"
/>
<!--
Appender: 设置日志信息的去向,常用的有以下几个
ch.qos.logback.core.ConsoleAppender (控制台)
ch.qos.logback.core.rolling.RollingFileAppender (文件大小到达指定尺寸的时候产生一个新文件)
ch.qos.logback.core.FileAppender (文件,不推荐使用)
-->
<!-- 控制台输出 -->
<appender
name=
"console"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<pattern>
${LOG_PATTERN
}
</pattern>
<pattern>
${LOG_PATTERN_Color
}
</pattern>
</encoder>
</appender>
</appender>
<!-- 按照每天生成日志文件 -->
<appender
name=
"file"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!-- 按照每天生成日志文件 -->
<appender
name=
"file"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<!--日志文件输出的文件名-->
<FileNamePattern>
${LOG_PATH}/im
.%d{yyyy-MM-dd}.log
</FileNamePattern>
<FileNamePattern>
${LOG_PATH}/${systemname}
.%d{yyyy-MM-dd}.log
</FileNamePattern>
<!--日志文件保留天数-->
<MaxHistory>
30
</MaxHistory>
</rollingPolicy>
...
...
@@ -37,10 +64,10 @@
<triggeringPolicy
class=
"ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"
>
<MaxFileSize>
100MB
</MaxFileSize>
</triggeringPolicy>
</appender>
</appender>
<!--logstash远程日志添加-->
<appender
name=
"logstash"
class=
"net.logstash.logback.appender.LogstashTcpSocketAppender"
>
<!--logstash远程日志添加-->
<appender
name=
"logstash"
class=
"net.logstash.logback.appender.LogstashTcpSocketAppender"
>
<!--logstash server所在位置-->
<destination>
127.0.0.1:5044
</destination>
<encoder
class=
"net.logstash.logback.encoder.LogstashEncoder"
>
...
...
@@ -50,10 +77,138 @@
</timestamp>
</providers>
</encoder>
</appender>
<!-- 日志输出级别 -->
<root
level=
"INFO"
>
<appender-ref
ref=
"console"
/>
<appender-ref
ref=
"file"
/>
</root>
</appender>
<!--
根据日志级别INFO、DEBUG、ERROR分别写入不同文件。
见appender SYS_INFO、SYS_DEBUG、SYS_ERROR
-->
<appender
name=
"SYS_INFO"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!--<File>langooo-api/log/info.log</File>-->
<append>
true
</append>
<!--过滤器,只打INFO级别的日志-->
<filter
class=
"ch.qos.logback.classic.filter.LevelFilter"
>
<level>
INFO
</level>
<onMatch>
ACCEPT
</onMatch>
<onMismatch>
DENY
</onMismatch>
</filter>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<fileNamePattern>
${LOG_PATH}/info/${systemname}.%d{yyyy-MM-dd}.log
</fileNamePattern>
<maxHistory>
30
</maxHistory>
</rollingPolicy>
<encoder
charset=
"UTF-8"
>
<pattern>
${LOG_PATTERN}
</pattern>
<charset>
UTF-8
</charset>
</encoder>
</appender>
<appender
name=
"SYS_DEBUG"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!--<File>langooo-api/log/error.log</File>-->
<append>
true
</append>
<!--过滤器,只打ERROR级别的日志-->
<filter
class=
"ch.qos.logback.classic.filter.LevelFilter"
>
<level>
DEBUG
</level>
<onMatch>
ACCEPT
</onMatch>
<onMismatch>
DENY
</onMismatch>
</filter>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<fileNamePattern>
${LOG_PATH}/debug/${systemname}.%d{yyyy-MM-dd}.log
</fileNamePattern>
<maxHistory>
12
</maxHistory>
</rollingPolicy>
<encoder
charset=
"UTF-8"
>
<pattern>
${LOG_PATTERN}
</pattern>
<charset>
UTF-8
</charset>
</encoder>
</appender>
<appender
name=
"SYS_ERROR"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!--<File>langooo-api/log/error.log</File>-->
<append>
true
</append>
<!--过滤器,只打ERROR级别的日志-->
<filter
class=
"ch.qos.logback.classic.filter.LevelFilter"
>
<level>
ERROR
</level>
<onMatch>
ACCEPT
</onMatch>
<onMismatch>
DENY
</onMismatch>
</filter>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<fileNamePattern>
${LOG_PATH}/error/${systemname}.%d{yyyy-MM-dd}.log
</fileNamePattern>
<maxHistory>
12
</maxHistory>
</rollingPolicy>
<encoder
charset=
"UTF-8"
>
<pattern>
${LOG_PATTERN}
</pattern>
<charset>
UTF-8
</charset>
</encoder>
</appender>
<!--
根据不同服务(包名),写入不同文件。
需要搭配<appender>与<logger>使用。
见resourceAppender及对应的logger
见serviceAppender及对应的logger
-->
<!--指定net.ibizsys.sample.mng.service.humanservice.resource日志文件输出位置,需要定义Logger使用,见下面logger标签-->
<appender
name=
"resourceAppender"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!--<file>/logs/resource-%d.log</file>-->
<append>
true
</append>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<fileNamePattern>
${LOG_PATH}/resource/${systemname}.%d{yyyy-MM-dd}.log
</fileNamePattern>
<maxHistory>
30
</maxHistory>
</rollingPolicy>
<encoder
charset=
"UTF-8"
>
<pattern>
${LOG_PATTERN}
</pattern>
<charset>
UTF-8
</charset>
</encoder>
</appender>
<!--指定net.ibizsys.sample.mng.core.valuerule.service日志文件输出位置,需要定义Logger使用,见下面logger标签。-->
<appender
name=
"serviceAppender"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!--<file>/logs/service-%d.log</file>-->
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<fileNamePattern>
${LOG_PATH}/service/${systemname}.%d{yyyy-MM-dd}.log
</fileNamePattern>
<maxHistory>
30
</maxHistory>
</rollingPolicy>
<encoder
charset=
"UTF-8"
>
<pattern>
${LOG_PATTERN}
</pattern>
<charset>
UTF-8
</charset>
</encoder>
</appender>
<!--net.ibizsys.sample.mng.service.humanservice.resource包中日志的appender配置-->
<logger
name=
"net.ibizsys.sample.mng.service.humanservice.resource"
level=
"DEBUG"
additivity=
"false"
>
<appender-ref
ref=
"resourceAppender"
/>
<appender-ref
ref=
"file"
/>
<appender-ref
ref=
"SYS_INFO"
/>
<appender-ref
ref=
"SYS_DEBUG"
/>
<appender-ref
ref=
"SYS_ERROR"
/>
<appender-ref
ref=
"console"
/>
</logger>
<!--net.ibizsys.sample.mng.core.valuerule.service包中日志的appender配置-->
<logger
name=
"net.ibizsys.sample.mng.core.valuerule.service"
level=
"DEBUG"
additivity=
"false"
>
<appender-ref
ref=
"serviceAppender"
/>
<appender-ref
ref=
"file"
/>
<appender-ref
ref=
"SYS_INFO"
/>
<appender-ref
ref=
"SYS_DEBUG"
/>
<appender-ref
ref=
"SYS_ERROR"
/>
<appender-ref
ref=
"console"
/>
</logger>
<!--
也是<logger>元素,但是它是根logger。只有一个level属性,应为已经被命名为"root".
level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
不能设置为INHERITED或者同义词NULL。默认是DEBUG。
优先级低于yaml配置。
当配置了子logger时,子logger优先级更高。
-->
<root
level=
"DEBUG"
>
<appender-ref
ref=
"console"
/>
<appender-ref
ref=
"file"
/>
<!--<appender-ref ref="logstash"/>-->
<appender-ref
ref=
"SYS_INFO"
/>
<appender-ref
ref=
"SYS_DEBUG"
/>
<appender-ref
ref=
"SYS_ERROR"
/>
</root>
</configuration>
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录