SpringBoot——运维

1、部署

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

1、Windows命令

 2、Linux命令

#查询端口使用情况
netstat -anp | grep 7070

kill -9 527

#后台启动
nohup java -jar .....jar > server.log 2>&1 &

2、日志

日志其实就是记录程序日常运行的信息,主要作用如下:

  • 编程期调试代码

  • 运营期记录信息

  • 记录日常运营重要信息(峰值流量、平均响应时长……)

  • 记录应用报错信息(错误堆栈)

  • 记录运维过程数据(扩容、宕机、报警……)

1、代码中使用日志工具记录日志

@RestController
@RequestMapping("/books")
public class BookController extends BaseClass{
    private static final Logger log = LoggerFactory.getLogger(BookController.class);
    @GetMapping
    public String getById(){
        log.debug("debug...");
        log.info("info...");
        log.warn("warn...");
        log.error("error...");
        return "springboot is running...2";
    }
}

日志设置好以后可以根据设置选择哪些参与记录。这里是根据日志的级别来设置的。日志的级别分为6种,分别是:

  • TRACE:运行堆栈信息,使用率低

  • DEBUG:程序员调试代码使用

  • INFO:记录运维过程数据

  • WARN:记录运维过程报警数据

  • ERROR:记录错误堆栈信息

  • FATAL:灾难信息,合并计入ERROR

一般情况下,开发时候使用DEBUG,上线后使用INFO,运维信息记录使用WARN即可。下面就设置一下日志级别:

# 开启debug模式,输出调试信息,常用于检查系统运行状况
debug: true

更细粒度:

# 设置日志级别,root表示根节点,即整体应用日志级别
logging:
	level:
    	root: debug

设置日志组,控制指定包对应的日志输出级别,也可以直接控制指定包对应的日志输出级别

logging:
	# 设置日志组
    group:
    	# 自定义组名,设置当前组中所包含的包
        ebank: com.itheima.controller
    level:
    	root: warn
        # 为对应组设置日志级别
        ebank: debug
    	# 为对包设置日志级别
        com.itheima.controller: debug

2、优化日志对象创建代码

public class BaseController {
    private Class clazz;
    public Logger log;

    public BaseController(){
        clazz = this.getClass();
        log = LoggerFactory.getLogger(clazz);
    }
}
@RestController
@RequestMapping("/books")
public class BookController extends BaseClass{
    
}

也可以导入lombok后使用注解@Sel4j搞定,日志对象名为log

@Slf4j		//这个注解替代了下面那一行
@RestController
@RequestMapping("/books")
public class BookController extends BaseClass{
    
}

3、日志输出格式控制

  1. %d:日期
  2. %m:消息
  3. %n:换行

 ​​​​​

logging:
	pattern:
    	console: "%d %clr(%p) --- [%16t] %clr(%-40.40c){cyan} : %m %n"
  • PID:进程ID,用于表明当前操作所处的进程,当多服务同时记录日志时,该值可用于协助程序员调试程序
  • 所属类/接口名:当前显示信息为SpringBoot重写后的信息,名称过长时,简化包名书写为首字母,甚至直接删除

4、日志文件

logging:
	file:
    	name: server.log

限制每个日志文件的大小:

logging:
	logback:
    	rollingpolicy:
        	max-file-size: 3KB
            file-name-pattern: server.%d{yyyy-MM-dd}.%i.log

容量到达3KB以后就转存信息到第二个文件中。 文件命名规则中的%d标识日期,%i是一个递增变量,用于区分日志文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值