Commit 62f35eef by zhangkb

添加标签日志

parent 98b214c9
...@@ -17,6 +17,8 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -17,6 +17,8 @@ import org.springframework.web.bind.annotation.RestController;
import com.keymobile.auth.common.security.GrantedAuthHelper; import com.keymobile.auth.common.security.GrantedAuthHelper;
import com.keymobile.tagmanager.exception.TagNotExistException; import com.keymobile.tagmanager.exception.TagNotExistException;
import com.keymobile.tagmanager.logging.LogConstants;
import com.keymobile.tagmanager.logging.LogManager;
import com.keymobile.tagmanager.model.ExtTag; import com.keymobile.tagmanager.model.ExtTag;
import com.keymobile.tagmanager.model.Page; import com.keymobile.tagmanager.model.Page;
import com.keymobile.tagmanager.model.SysTag; import com.keymobile.tagmanager.model.SysTag;
...@@ -62,6 +64,7 @@ public class TagCtrl { ...@@ -62,6 +64,7 @@ public class TagCtrl {
String companyOrgId = tagService.getCompanyOrgIdByUserOrgId(org); String companyOrgId = tagService.getCompanyOrgIdByUserOrgId(org);
tag.setProDept(companyOrgId); tag.setProDept(companyOrgId);
LogManager.logInfo(LogConstants.CTX_OPTTAG, "新增/修改标签成功");
//调用新增或者修改标签接口 //调用新增或者修改标签接口
return tagService.addOrUpdateTag(parentId, tag, userName); return tagService.addOrUpdateTag(parentId, tag, userName);
} }
...@@ -71,6 +74,7 @@ public class TagCtrl { ...@@ -71,6 +74,7 @@ public class TagCtrl {
public void deleteTag(@RequestParam(value = "tagId") String tagId) throws Exception { public void deleteTag(@RequestParam(value = "tagId") String tagId) throws Exception {
String userName = UserInfoUtils.getUserName(); String userName = UserInfoUtils.getUserName();
tagService.deleteTag(tagId, userName); tagService.deleteTag(tagId, userName);
LogManager.logInfo(LogConstants.CTX_OPTTAG, "删除标签成功");
} }
@ApiOperation(value = "存在节点", notes = "存在节点") @ApiOperation(value = "存在节点", notes = "存在节点")
...@@ -247,6 +251,11 @@ public class TagCtrl { ...@@ -247,6 +251,11 @@ public class TagCtrl {
public void shareTags(@RequestBody List<String> tagIds, public void shareTags(@RequestBody List<String> tagIds,
@RequestParam String tagOpenStatus) throws Exception { @RequestParam String tagOpenStatus) throws Exception {
tagService.shareTags(tagIds,tagOpenStatus); tagService.shareTags(tagIds,tagOpenStatus);
if("0".equals(tagOpenStatus)) {
LogManager.logInfo(LogConstants.CTX_OPTTAG, "取消分享标签");
}else {
LogManager.logInfo(LogConstants.CTX_OPTTAG, "分享标签");
}
} }
//author:zhangkb time:2020-1-16 desc:标签分析接口 //author:zhangkb time:2020-1-16 desc:标签分析接口
...@@ -260,6 +269,7 @@ public class TagCtrl { ...@@ -260,6 +269,7 @@ public class TagCtrl {
@GetMapping("/exportTagAnalysis") @GetMapping("/exportTagAnalysis")
public int exportTagAnalysis(@RequestParam String dataType,@RequestParam String type, public int exportTagAnalysis(@RequestParam String dataType,@RequestParam String type,
HttpServletResponse response)throws Exception{ HttpServletResponse response)throws Exception{
LogManager.logInfo(LogConstants.CTX_OPTTAG, "导出标签分析");
return tagExportService.exportTagAnalysisExcel(dataType, type, response); return tagExportService.exportTagAnalysisExcel(dataType, type, response);
} }
......
...@@ -16,6 +16,8 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -16,6 +16,8 @@ import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import com.keymobile.auth.common.security.GrantedAuthHelper; import com.keymobile.auth.common.security.GrantedAuthHelper;
import com.keymobile.tagmanager.logging.LogConstants;
import com.keymobile.tagmanager.logging.LogManager;
import com.keymobile.tagmanager.model.Page; import com.keymobile.tagmanager.model.Page;
import com.keymobile.tagmanager.service.TagFileService; import com.keymobile.tagmanager.service.TagFileService;
import com.keymobile.tagmanager.util.UserInfoUtils; import com.keymobile.tagmanager.util.UserInfoUtils;
...@@ -38,6 +40,7 @@ public class TagFileCtrl { ...@@ -38,6 +40,7 @@ public class TagFileCtrl {
String userName = UserInfoUtils.getUserName(); String userName = UserInfoUtils.getUserName();
String userId = UserInfoUtils.getUserId(); String userId = UserInfoUtils.getUserId();
String deptIdPath = /**UserInfoUtils.getDataRoleOrg()*/String.valueOf(GrantedAuthHelper.getUserOrg()); String deptIdPath = /**UserInfoUtils.getDataRoleOrg()*/String.valueOf(GrantedAuthHelper.getUserOrg());
LogManager.logInfo(LogConstants.CTX_OPTFILETAG, "导入标签元数据");
return tagExportService.importTagMetadataExcel(userName, userId, deptIdPath, return tagExportService.importTagMetadataExcel(userName, userId, deptIdPath,
idPath, dimensionType, tagType, file); idPath, dimensionType, tagType, file);
} }
...@@ -47,6 +50,7 @@ public class TagFileCtrl { ...@@ -47,6 +50,7 @@ public class TagFileCtrl {
public int exportTagMeta(@RequestParam("idPath") String idPath, public int exportTagMeta(@RequestParam("idPath") String idPath,
@RequestParam("dimensionType") String dimensionType, @RequestParam("dimensionType") String dimensionType,
@RequestParam("tagType") String tagType,HttpServletResponse response) { @RequestParam("tagType") String tagType,HttpServletResponse response) {
LogManager.logInfo(LogConstants.CTX_OPTFILETAG, "导出标签元数据");
return tagExportService.exportTagMetadataExcel(idPath, dimensionType, tagType, response); return tagExportService.exportTagMetadataExcel(idPath, dimensionType, tagType, response);
} }
...@@ -56,6 +60,7 @@ public class TagFileCtrl { ...@@ -56,6 +60,7 @@ public class TagFileCtrl {
@RequestParam(required = false , value = "deptIdPath") String deptIdPath, @RequestParam(required = false , value = "deptIdPath") String deptIdPath,
@RequestParam(required = false , value = "isSys") String isSys) { @RequestParam(required = false , value = "isSys") String isSys) {
deptIdPath = /**UserInfoUtils.getDataRoleOrg()*/String.valueOf(GrantedAuthHelper.getUserOrg()); deptIdPath = /**UserInfoUtils.getDataRoleOrg()*/String.valueOf(GrantedAuthHelper.getUserOrg());
LogManager.logInfo(LogConstants.CTX_OPTFILETAG, "导出标签");
return tagExportService.exportExcel(deptIdPath, isSys, response); return tagExportService.exportExcel(deptIdPath, isSys, response);
} }
...@@ -65,6 +70,7 @@ public class TagFileCtrl { ...@@ -65,6 +70,7 @@ public class TagFileCtrl {
String userName = UserInfoUtils.getUserName(); String userName = UserInfoUtils.getUserName();
String userId = UserInfoUtils.getUserId(); String userId = UserInfoUtils.getUserId();
deptIdPath = /**UserInfoUtils.getDataRoleOrg()*/String.valueOf(GrantedAuthHelper.getUserOrg()); deptIdPath = /**UserInfoUtils.getDataRoleOrg()*/String.valueOf(GrantedAuthHelper.getUserOrg());
LogManager.logInfo(LogConstants.CTX_OPTFILETAG, "导入标签");
return tagExportService.importExcel(userName, userId, deptIdPath, file); return tagExportService.importExcel(userName, userId, deptIdPath, file);
} }
...@@ -104,6 +110,7 @@ public class TagFileCtrl { ...@@ -104,6 +110,7 @@ public class TagFileCtrl {
} }
tagExportService.exportSystem(systemIds, request, response); tagExportService.exportSystem(systemIds, request, response);
} }
LogManager.logInfo(LogConstants.CTX_OPTFILETAG, "导出系统");
} }
//----------------------以下为导入系统的时候 //----------------------以下为导入系统的时候
......
...@@ -10,6 +10,8 @@ import org.springframework.web.bind.annotation.RequestParam; ...@@ -10,6 +10,8 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.keymobile.auth.common.security.GrantedAuthHelper; import com.keymobile.auth.common.security.GrantedAuthHelper;
import com.keymobile.tagmanager.logging.LogConstants;
import com.keymobile.tagmanager.logging.LogManager;
import com.keymobile.tagmanager.model.TagRelation; import com.keymobile.tagmanager.model.TagRelation;
import com.keymobile.tagmanager.service.TagRelService; import com.keymobile.tagmanager.service.TagRelService;
import com.keymobile.tagmanager.util.UserInfoUtils; import com.keymobile.tagmanager.util.UserInfoUtils;
...@@ -40,12 +42,14 @@ public class TagRelCtrl { ...@@ -40,12 +42,14 @@ public class TagRelCtrl {
if(tagRelService.tagRelExist(sourceId, targetId)) { if(tagRelService.tagRelExist(sourceId, targetId)) {
throw new Exception("the tag relation is exist"); throw new Exception("the tag relation is exist");
} }
LogManager.logInfo(LogConstants.CTX_OPTTAGREL, "新增标签关系");
return tagRelService.addTagRel(sourceId, targetId, userId, org); return tagRelService.addTagRel(sourceId, targetId, userId, org);
} }
@ApiOperation(value = "删除标签关系", notes = "删除标签关系") @ApiOperation(value = "删除标签关系", notes = "删除标签关系")
@PostMapping(value = "/deleteTagRel") @PostMapping(value = "/deleteTagRel")
public void delete(@RequestParam String id) { public void delete(@RequestParam String id) {
LogManager.logInfo(LogConstants.CTX_OPTTAGREL, "删除标签关系");
tagRelService.deleteTagRel(id); tagRelService.deleteTagRel(id);
} }
......
package com.keymobile.tagmanager.logging;
public interface LogConstants {
public static final String CTX_OPTTAG = "tagManager.OPTTAG";
public static final String CTX_OPTFILETAG = "tagManager.OPTFILETAG";
public static final String CTX_OPTTAGREL = "tagManager.OPTTAGREL";
}
package com.keymobile.tagmanager.logging;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogManager {
public static void logTrace(String context, Throwable e, String message) {
Logger logger = LoggerFactory.getLogger(context);
if (logger.isTraceEnabled()) {
logger.trace(message, e);
}
}
public static void logTrace(String context, String message) {
logTrace(context, null, message);
}
public static void logDebug(String context, String message) {
Logger logger = LoggerFactory.getLogger(context);
if (logger.isDebugEnabled()) {
logger.debug(message);
}
}
public static void logInfo(String context, String message) {
Logger logger = LoggerFactory.getLogger(context);
if (logger.isInfoEnabled()) {
logger.info(message);
}
}
public static void logWarning(String context, Throwable e, String message) {
Logger logger = LoggerFactory.getLogger(context);
if (logger.isWarnEnabled()) {
logger.warn(message, e);
}
}
public static void logWarning(String context, String message) {
logWarning(context, null, message);
}
public static void logError(String context, Throwable e, String message) {
Logger logger = LoggerFactory.getLogger(context);
if (logger.isErrorEnabled()) {
logger.error(message, e);
}
}
public static void logError(String context, String message) {
logError(context, message);
}
}
package com.keymobile.tagmanager.logging;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Component;
import org.slf4j.MDC;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import javax.servlet.*;
import java.io.IOException;
@Component
public class MdcLogEnhancerFilter implements Filter {
@Override
public void destroy() {
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException
{
MDC.put("user", getUser());
MDC.put("session", getSession());
filterChain.doFilter(servletRequest, servletResponse);
}
private String getUser() {
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
String userName = "NO_USER";
if (auth != null) {
userName = auth.getName();
}
return userName;
}
private String getSession() {
RequestAttributes attrs = RequestContextHolder.getRequestAttributes();
String session = "NO_SESSION";
if (attrs != null) {
session = attrs.getSessionId();
}
return session;
}
}
...@@ -44,9 +44,7 @@ public interface RepoServiceClient { ...@@ -44,9 +44,7 @@ public interface RepoServiceClient {
@RequestParam String idPath, @RequestParam String idPath,
@RequestParam String tagType, @RequestParam String tagType,
@RequestParam String dimensionType, @RequestParam String dimensionType,
@RequestParam(required = false) String keyword, @RequestParam(required = false) String keyword);
@RequestParam(defaultValue = "1") int pageNum,
@RequestParam(defaultValue = "10") int pageSize);
@PostMapping(value = "/rest/metadata/getByNamePathAndClass") @PostMapping(value = "/rest/metadata/getByNamePathAndClass")
public Map<String,Object> getMetaByNamePathAndClass(@RequestParam String claz, public Map<String,Object> getMetaByNamePathAndClass(@RequestParam String claz,
......
...@@ -137,7 +137,7 @@ public class TagFileService { ...@@ -137,7 +137,7 @@ public class TagFileService {
Map<Long, Set<String>> systemTagMap = GrantedAuthHelper.getDataPrivileges(); Map<Long, Set<String>> systemTagMap = GrantedAuthHelper.getDataPrivileges();
//获取标签元数据信息 //获取标签元数据信息
List<Map<String,Object>> content = repoService.getByTagByPrivileges(systemTagMap, List<Map<String,Object>> content = repoService.getByTagByPrivileges(systemTagMap,
null, idPath, tagType, dimensionType, "", 1, 10); null, idPath, tagType, dimensionType, "");
//新建用于过滤content权限list //新建用于过滤content权限list
List<Map<String,Object>> privilegeContent = new ArrayList<>(); List<Map<String,Object>> privilegeContent = new ArrayList<>();
...@@ -155,8 +155,7 @@ public class TagFileService { ...@@ -155,8 +155,7 @@ public class TagFileService {
Set<String> tags = systemTagMap.get(Long.valueOf(sys)); Set<String> tags = systemTagMap.get(Long.valueOf(sys));
for(String usrTag : tags) { for(String usrTag : tags) {
List<Map<String,Object>> tagContent = repoService.getByTagByPrivileges( List<Map<String,Object>> tagContent = repoService.getByTagByPrivileges(
systemTagMap, null, usrTag, "1", "1", "", systemTagMap, null, usrTag, "1", "1", "");
1, 10);
List<String> idList = new ArrayList<>(); List<String> idList = new ArrayList<>();
for(Map<String,Object> map : tagContent) { for(Map<String,Object> map : tagContent) {
idList.add(map.get("_id").toString()); idList.add(map.get("_id").toString());
......
...@@ -803,8 +803,7 @@ public class TagService { ...@@ -803,8 +803,7 @@ public class TagService {
//根据标签id获取标签 //根据标签id获取标签
Tag tag = this.getTagById(usrTag); Tag tag = this.getTagById(usrTag);
List<Map<String,Object>> tagContent = repoService.getByTagByPrivileges( List<Map<String,Object>> tagContent = repoService.getByTagByPrivileges(
systemTagMap, null, tag.getIdPath(), "1", "1", "", systemTagMap, null, tag.getIdPath(), "1", "1", "");
pageNum, pageSize);
List<String> idList = new ArrayList<String>(); List<String> idList = new ArrayList<String>();
for(Map<String,Object> map : tagContent) { for(Map<String,Object> map : tagContent) {
idList.add(map.get("_id").toString()); idList.add(map.get("_id").toString());
...@@ -840,8 +839,7 @@ public class TagService { ...@@ -840,8 +839,7 @@ public class TagService {
//根据标签id获取标签 //根据标签id获取标签
Tag tag = this.getTagById(usrTag); Tag tag = this.getTagById(usrTag);
List<Map<String,Object>> tagContent = repoService.getByTagByPrivileges( List<Map<String,Object>> tagContent = repoService.getByTagByPrivileges(
systemTagMap, modelPath, tag.getIdPath(), "1", "1", "", systemTagMap, modelPath, tag.getIdPath(), "1", "1", "");
pageNum, pageSize);
List<String> idList = new ArrayList<String>(); List<String> idList = new ArrayList<String>();
for(Map<String,Object> map : tagContent) { for(Map<String,Object> map : tagContent) {
idList.add(map.get("_id").toString()); idList.add(map.get("_id").toString());
...@@ -877,8 +875,7 @@ public class TagService { ...@@ -877,8 +875,7 @@ public class TagService {
if(!systemTagMap.isEmpty()) { if(!systemTagMap.isEmpty()) {
//获取传入的标签关联的元数据 //获取传入的标签关联的元数据
List<Map<String,Object>> content = repoService.getByTagByPrivileges(systemTagMap, List<Map<String,Object>> content = repoService.getByTagByPrivileges(systemTagMap,
null, tag.getIdPath(), tag.getTagType(), tag.getDimensionType(), "", null, tag.getIdPath(), tag.getTagType(), tag.getDimensionType(), "");
1, 10);
if(!content.isEmpty()) { if(!content.isEmpty()) {
//比较标签关联的元数据所属系统跟用户被授予的系统是否一致 //比较标签关联的元数据所属系统跟用户被授予的系统是否一致
for(Map<String,Object> mData : content) { for(Map<String,Object> mData : content) {
...@@ -898,7 +895,7 @@ public class TagService { ...@@ -898,7 +895,7 @@ public class TagService {
Tag uTag = this.getTagById(usrTag); Tag uTag = this.getTagById(usrTag);
List<Map<String,Object>> tagContent = repoService. List<Map<String,Object>> tagContent = repoService.
getByTagByPrivileges(systemTagMap, null, getByTagByPrivileges(systemTagMap, null,
uTag.getIdPath(), "1", "1", "", 1, 10); uTag.getIdPath(), "1", "1", "");
List<String> idList = new ArrayList<>(); List<String> idList = new ArrayList<>();
for(Map<String,Object> map : tagContent) { for(Map<String,Object> map : tagContent) {
idList.add(map.get("_id").toString()); idList.add(map.get("_id").toString());
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<configuration> <configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" /> <springProperty name="spring.datasource.driverClassName" source="spring.datasource.driverClassName"/>
<logger name="org.springframework.web" level="INFO" /> <springProperty name="spring.datasource.url" source="spring.datasource.url"/>
<springProperty name="spring.datasource.username" source="spring.datasource.username"/>
<springProperty name="spring.datasource.password" source="spring.datasource.password"/>
<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender"> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> <pattern>%d{HH:mm:ss.SSS} [%thread] %X{user} %X{session} %-5level %logger{5} - %msg%n</pattern>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder> </encoder>
</appender> </appender>
<appender name="db" class="ch.qos.logback.classic.db.DBAppender">
<springProfile name="test"> <connectionSource
<!-- 注意这里一定要放到springProfile里, 否则在你本机执行的时候还是会去找相应的文件 --> class="ch.qos.logback.core.db.DriverManagerConnectionSource">
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <driverClass>com.mysql.jdbc.Driver</driverClass>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <url>jdbc:mysql://192.168.0.192:3306/cgn2_dev</url>
<!--日志文件输出的文件名--> <user>test</user>
<FileNamePattern>logs/dataCatalog.%d{yyyy-MM-dd}.log</FileNamePattern> <password>test</password>
<!--日志文件保留天数--> </connectionSource>
<maxHistory>1</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
<!--日志文件最大的大小-->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
<discardingThreshold>0</discardingThreshold>
<queueSize>500</queueSize>
<appender-ref ref="FILE" />
</appender>
</springProfile>
<springProfile name="dev">
<!-- 注意这里一定要放到springProfile里, 否则在你本机执行的时候还是会去找相应的文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>logs/dataCatalog.%d{yyyy-MM-dd}.log</FileNamePattern>
<!--日志文件保留天数-->
<maxHistory>1</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
<!--日志文件最大的大小-->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
<discardingThreshold>0</discardingThreshold>
<queueSize>500</queueSize>
<appender-ref ref="FILE" />
</appender>
</springProfile>
<springProfile name="pro">
<!-- 注意这里一定要放到springProfile里, 否则在你本机执行的时候还是会去找相应的文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>logs/metaA.%d{yyyy-MM-dd}.log</FileNamePattern>
<!--日志文件保留天数-->
<maxHistory>15</maxHistory>
<totalSizeCap>30GB</totalSizeCap>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
<!--日志文件最大的大小-->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender> </appender>
<appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender"> <logger name="tagManager.OPTTAG">
<discardingThreshold>0</discardingThreshold> <appender-ref ref="db" />
<queueSize>500</queueSize> </logger>
<appender-ref ref="FILE" /> <logger name="tagManager.OPTFILETAG">
</appender> <appender-ref ref="db" />
</springProfile> </logger>
<logger name="tagManager.OPTTAGREL">
<appender-ref ref="db" />
</logger>
<springProfile name="dev">
<root level="INFO">
<appender-ref ref="consoleAppender" />
<appender-ref ref="asyncFileAppender" />
</root>
</springProfile>
<springProfile name="pro">
<root level="INFO">
<appender-ref ref="asyncFileAppender" />
</root>
</springProfile>
<springProfile name="test">
<root level="INFO"> <root level="INFO">
<appender-ref ref="asyncFileAppender" /> <appender-ref ref="stdout" />
</root> </root>
</springProfile>
</configuration> </configuration>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment