configuración del servidor de centro de SpringCloud-ServerConfig

ServerConfig

componentes SpringCloud, ServerConfig es configurar el centro de servicio, componentes para la gestión unificada de la configuración del proyecto

principio

Springboot por iniciar un servicio (server-config), configurar git repositorio de dirección (también svn o de otro tipo), a través de la dirección de archivo configurado, el acceso al archivo de configuración. Otra configuración de acceso de micro-servicio no requiere acceso a git, sólo se puede acceder por ServerConfig.

establecer

Resumen premisa, este uso del edificio ide: Spring Tool Suite 4

Versión: 4.3.0.RELEASE
ID de build: 201906200901

Maven 3.6.3 instalado, y configurar la dirección de red del almacén experto sin obstáculos, algunos dirección externa del almacén puede no velocidad, descarga lenta dependencia.

Como reflejo del almacén interno, pero más rápido https://www.cnblogs.com/Narule/p/12595960.html

Archivo -> Nuevo -> Proyecto de Inicio de Primavera

pom-dependiente

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.2.5.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.wunanyu</groupId>
	<artifactId>Config</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>Config</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
		<spring-cloud.version>Hoxton.SR3</spring-cloud.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-config-server</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${spring-cloud.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

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

</project>

perfiles

application.yml

server:
  port: 8888  #	服务端口号
spring:
  application:
    name: server-config  #服务名
  cloud:
    config:
      server:
        git:
          uri: /usr/data/git/cloud/config  #linux配置文件地址
          # 这里可以配置文件路径,也可以配置服务器路径,windows需要添加//  
          # 如uri: file://${user.home}/config-repo
          # github  uri:https://github.com/repo

#
#logging:
#config: src/main/resources/logback-spring.xml
log:
  path: log  #日志路径

Más detalles se pueden encontrar en https://www.cnblogs.com/hellxz/p/9306507.html

volver a iniciar sesión

El perfil ha sido configurado, puede ser utilizado directamente, no aquí logback detalles, este no es el foco

<?xml version="1.0" encoding="UTF-8"?>
<!--  
配置说明

%6 表示字段最小长度为6,格式右对齐 		[	 右对齐 ]
%-64 表示最小长度64,并且左对齐		[左对齐	]
%6.32 表示最小长度6,最大长度32		[左对齐	]
-->
<configuration scan="true" scanPeriod="60 seconds"
	debug="false">
	<!-- 默认读取application.yml 配置 -->
	<springProperty scope="contex" name="app" source="spring.application.name"></springProperty>
	<springProperty scope="contex" name="log.path" source="log.path"></springProperty>
 	<!-- <property name="log.path" value="log" /> -->
	<property name="LOG_PATTERN"
		value="%d -%magenta(%6(${PID:- }))- [%-5(${app})] [%6thread] %-5level %cyan(%-64logger{128}) - %msg%n" />
		<!-- 时间	进程						 线程 					日志级别 				输出对象 			消息内容 -->
		<!-- 彩色 -->
		<!-- <property name="LOG_PATTERN" value="%d -%magenta(${PID:- })- [%16thread] %customcolor(%-5level) %cyan(%-64logger{128}) - %msg%n" /> -->
		<!-- 黑白日志 -->
		<!-- <property name="LOG_PATTERN" value="%d -%6(${PID:- })- [%16thread] %-5level %-64logger{128} - %msg%n" /> -->
	
	<!-- <contextName>${app}</contextName> -->
	<!--输出到控制台 -->
	<appender name="console"
		class="ch.qos.logback.core.ConsoleAppender">
		<!-- 级别过滤 -->
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
			<!-- 级别低于INFO 的日志不会被打印 -->
			<level>INFO</level>
		</filter>
		<!-- 打印模板 -->
		<encoder>
			<pattern>${LOG_PATTERN}</pattern>
			<!-- <pattern>%d -%magenta(${PID:- })- [%16thread] %customcolor(%-5level) 
				%cyan(%-64logger{128}) - %msg%n</pattern> -->
		</encoder>
	</appender>

	<!--输出到文件 -->
	<!-- all 日志文件,级别高于info 的全部打印 -->
	<appender name="all-file"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${log.path}/${app}-all.log</file>
		<!-- ThresholdFilter级别过滤 级别大于 info 的才会输出 -->
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
			<level>INFO</level>
		</filter>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${log.path}/all/${app}-all-logging-%d{yyyy-MM-dd}.log
			</fileNamePattern>
			<!-- <fileNamePattern>${log.path}/spring-boot-${log.name}-logging.%d{yyyy-MM-dd}.all-log.zip</fileNamePattern> -->
			<!-- 日志保存周期 -->
			<maxHistory>30</maxHistory>
			<!-- 总大小 -->
			<totalSizeCap>1GB</totalSizeCap>
		</rollingPolicy>
		<encoder>
			<pattern>${LOG_PATTERN}</pattern>
		</encoder>
	</appender>

	<!-- info 日志文件 只打印info级别信息 -->
	<appender name="info-file"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${log.path}/${app}-info.log</file>
		<!-- 只打印唯一种级别的日志 可以用 LevelFilter 配置 -->
		<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/${app}-info-logging-%d{yyyy-MM-dd}.log
			</fileNamePattern>
			<!-- 日志保存周期 -->
			<maxHistory>30</maxHistory>
			<!-- 总大小 -->
			<totalSizeCap>1GB</totalSizeCap>
		</rollingPolicy>
		<encoder>
			<pattern>${LOG_PATTERN}</pattern>
		</encoder>
	</appender>

	<!-- warn 日志文件 只打印warn级别信息 -->
	<appender name="warn-file"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${log.path}/${app}-warn.log</file>
		<!-- 只打印唯一种级别的日志 可以用 LevelFilter 配置 -->
		<filter class="ch.qos.logback.classic.filter.LevelFilter">
			<level>WARN</level>
			<!--匹配到就允许 -->
			<onMatch>ACCEPT</onMatch>
			<!--没匹配到就禁止 -->
			<onMismatch>DENY</onMismatch>
		</filter>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${log.path}/warn/${app}-warn-logging-%d{yyyy-MM-dd}.log
			</fileNamePattern>
			<!-- 日志保存周期 -->
			<maxHistory>30</maxHistory>
			<!-- 总大小 -->
			<totalSizeCap>1GB</totalSizeCap>
		</rollingPolicy>
		<!-- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
			<fileNamePattern>${log.path}/spring-boot-${log.name}-logging.%d{yyyy-MM-dd}.warn-log.zip</fileNamePattern> 
			日志保存周期 <maxHistory>30</maxHistory> 总大小 <totalSizeCap>1GB</totalSizeCap> </rollingPolicy> -->
		<encoder>
			<pattern>${LOG_PATTERN}</pattern>
		</encoder>
	</appender>

	<!-- error 日志文件 只打印error级别信息 -->
	<appender name="error-file"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${log.path}/${app}-error.log</file>
		<!-- <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> 
			<onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> -->
		<!--如果只是想要 Error 级别的日志,那么需要过滤一下,默认是 info 级别的,ThresholdFilter -->
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
			<level>Error</level>
		</filter>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${log.path}/error/${app}-error-logging-%d{yyyy-MM-dd}.log
			</fileNamePattern>
			<!-- 日志保存周期 -->
			<maxHistory>30</maxHistory>
			<!-- 总大小 -->
			<totalSizeCap>1GB</totalSizeCap>
		</rollingPolicy>
		<encoder>
			<pattern>${LOG_PATTERN}</pattern>
		</encoder>
	</appender>






	<!-- root 指定打印日志最低级别 -->
	<root level="info">
		<appender-ref ref="console" />
		<appender-ref ref="all-file" />
		<!-- <appender-ref ref="trace-file" /> -->
		<!-- <appender-ref ref="debug-file" /> -->
		<appender-ref ref="info-file" />
		<appender-ref ref="warn-file" />
		<appender-ref ref="error-file" />
	</root>

	<!-- logback为java中的包 -->
	<!-- <logger name="com.baiding"/> -->
	<!-- java中的包 -->
	<!-- <logger name="com.baiding" level="warn" addtivity="false"> <appender-ref 
		ref="console" /> </logger> -->


	<!-- <appender name="trace-file" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
		<file>${log.path}/spring-boot-${log.name}-trace.log</file> <filter class="ch.qos.logback.classic.filter.LevelFilter"> 
		<level>TRACE</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> 
		</filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
		<fileNamePattern>${log.path}/spring-boot-${log.name}-logging.%d{yyyy-MM-dd}.trace-log.zip</fileNamePattern> 
		日志保存周期 <maxHistory>30</maxHistory> 总大小 <totalSizeCap>1GB</totalSizeCap> </rollingPolicy> 
		<encoder> <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} 
		- %msg%n</pattern> </encoder> </appender> -->

	<!-- <appender name="debug-file" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
		<file>${log.path}/spring-boot-${log.name}-debug.log</file> <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}/spring-boot-${log.name}-logging.%d{yyyy-MM-dd}.debug-log.zip</fileNamePattern> 
		日志保存周期 <maxHistory>30</maxHistory> 总大小 <totalSizeCap>1GB</totalSizeCap> </rollingPolicy> 
		<encoder> <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} 
		- %msg%n</pattern> </encoder> </appender> -->

</configuration>

clase de arranque

package com.wunanyu.cloud.config;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;

@SpringBootApplication  //springboot启动类注解
@EnableConfigServer  //SpringCloud-ServerConfig配置中心服务注解,表示这是配置服务中心
/**
 * @author Narule
 */
public class ConfigApplication {

	public static void main(String[] args) {
		SpringApplication.run(ConfigApplication.class, args);
	}
	
}

Comience método principal de esta clase, ver el registro de la consola de la consola de impresión se inicia con éxito, iniciado con éxito, puede pasar

localhost: 8888 / Eureka-dev.yml información de configuración de la vista, siempre y cuando no es este archivo a la dirección de configure

ConfigServer de reglas de perfil

/ { 应用名 } / { 环境名 } [ / { 分支名 } ]
/ { 应用名 } - { 环境名 }.yml
/ { 应用名 } - { 环境名 }.properties
/ { 分支名 } / { 应用名 } - { 环境名 }.yml
/ { 分支名 } / { 应用名 } - { 环境名 }.properties

Si un servicio springboot llamado Eureka, eureka configuración es la siguiente

bootstrap.yml

spring:
  application:
    name: eureka #应用名
  cloud:
    config:
     uri: localhost:8888 #配置中心的访问地址 这不是配置文件的地址,是配置服务server-config的地址
     profile: dev #环境
     label: master #分支
management:
  endpoints:
    web:
      exposure:
        include:
        - "*"
        
eureka:
  server:
    renewal-percent-threshold: 0.45
    
log:
  path: log

Luego se leerá

Eureka-dev.yml nombre, rama git para los archivos maestros (defecto)

Supongo que te gusta

Origin www.cnblogs.com/Narule/p/12596052.html
Recomendado
Clasificación