clazz) {
27 | return beanFactory.getBean(clazz);
28 | }
29 | }
30 |
31 |
--------------------------------------------------------------------------------
/src/main/java/com/flyer/maker/freemarker/templete/BeanFactoryRegisterTest.ftl:
--------------------------------------------------------------------------------
1 | package ${projectPackage}.common;
2 |
3 | import ${projectPackage}.AbstractTest;
4 | import org.junit.Test;
5 | import org.springframework.core.env.Environment;
6 |
7 | import java.util.Arrays;
8 |
9 | import static org.junit.Assert.assertNotNull;
10 |
11 | /**
12 | * Created by ${author} on ${.now?string('yyyy/MM/dd')}.
13 | */
14 | public class BeanFactoryRegisterTest extends AbstractTest {
15 |
16 | @Test
17 | public void getBean() throws Exception {
18 | Environment environment = (Environment) BeanFactoryRegister.getBean("environment");
19 | log.warn("curernt active env: {}", Arrays.toString(environment.getActiveProfiles()));
20 | assertNotNull("getBean object is null", environment);
21 | }
22 |
23 | @Test
24 | public void getBean1() throws Exception {
25 | Environment environment = BeanFactoryRegister.getBean(Environment.class);
26 | log.warn("curernt default env: {}", Arrays.toString(environment.getDefaultProfiles()));
27 | assertNotNull("getBean1 object is null", environment);
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/java/com/flyer/maker/freemarker/templete/BizException.ftl:
--------------------------------------------------------------------------------
1 | package ${projectPackage}.common.exception;
2 |
3 | import ${projectPackage}.constant.ErrorEnum;
4 |
5 | /**
6 | * User-defined Exception
7 | * Created by ${author} on ${.now?string('yyyy/MM/dd')}.
8 | */
9 | public class BizException extends RuntimeException {
10 |
11 | /**
12 | * error info
13 | */
14 | private ErrorEnum error;
15 |
16 | public BizException(ErrorEnum error) {
17 | this.error = error;
18 | }
19 |
20 | public ErrorEnum getError() {
21 | return error;
22 | }
23 |
24 | public static void throwOut(ErrorEnum error) {
25 | throw new BizException(error);
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/com/flyer/maker/freemarker/templete/CommonController.ftl:
--------------------------------------------------------------------------------
1 | package ${projectPackage}.web;
2 |
3 | import ch.qos.logback.classic.Level;
4 | import ch.qos.logback.classic.LoggerContext;
5 | import ${projectPackage}.common.BaseController;
6 | import ${projectPackage}.common.BaseResponse;
7 | import ${projectPackage}.common.exception.BizException;
8 | import ${projectPackage}.constant.ErrorEnum;
9 | import org.apache.commons.lang3.StringUtils;
10 | import org.slf4j.LoggerFactory;
11 | import org.springframework.web.bind.annotation.GetMapping;
12 | import org.springframework.web.bind.annotation.PathVariable;
13 | import org.springframework.web.bind.annotation.RestController;
14 |
15 | import java.util.ArrayList;
16 | import java.util.HashMap;
17 | import java.util.List;
18 | import java.util.Map;
19 |
20 | /**
21 | * Common Controller
22 | * Created by ${author} on ${.now?string('yyyy/MM/dd')}.
23 | */
24 | @RestController
25 | public class CommonController extends BaseController {
26 |
27 | /**
28 | * healthCheck
29 | *
30 | * @return
31 | */
32 | @GetMapping(value = "healthCheck")
33 | public BaseResponse healthCheck() {
34 | return BaseResponse.ok().build();
35 | }
36 |
37 | /**
38 | * set logger's level
39 | *
40 | * @param logger
41 | * @param level
42 | * @return
43 | */
44 | @GetMapping(value = "setLevel")
45 | public BaseResponse setLoggerLevel(String logger, String level) {
46 | if (StringUtils.isBlank(logger) || StringUtils.isBlank(level)) {
47 | BizException.throwOut(ErrorEnum.PARAMETER_ILLEGAL);
48 | }
49 | LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
50 | loggerContext.getLogger(logger).setLevel(Level.valueOf(level));
51 | log.info("logger: {} was set to : {}", logger, level);
52 | return BaseResponse.ok().build();
53 | }
54 |
55 | /**
56 | * view the current level of logger
57 | *
58 | * usage:
59 | * 1. /loggers for all logger
60 | * 2. /loggers/${projectPackage}.CommonController for specified logger
61 | *
62 | * @param name
63 | * @return
64 | */
65 | @GetMapping(value = {"loggers/{name:.+}", "loggers"})
66 | public BaseResponse loggers(@PathVariable(required = false) String name) {
67 | List loggerList = new ArrayList<>();
68 | List