Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
a2c50a98
Commit
a2c50a98
authored
Dec 28, 2016
by
Phillip Webb
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '1.5.x'
parents
49fa7027
1e9e1b04
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
75 additions
and
92 deletions
+75
-92
PortTest.java
.../java/org/springframework/boot/test/context/PortTest.java
+0
-87
SpringBootConfigurationFactory.java
...k/boot/logging/log4j2/SpringBootConfigurationFactory.java
+68
-0
log4j2-file.xml
...s/org/springframework/boot/logging/log4j2/log4j2-file.xml
+4
-3
log4j2.xml
...ources/org/springframework/boot/logging/log4j2/log4j2.xml
+3
-2
No files found.
spring-boot-test/src/test/java/org/springframework/boot/test/context/PortTest.java
deleted
100644 → 0
View file @
49fa7027
/*
* Copyright 2012-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
springframework
.
boot
.
test
.
context
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.boot.test.context.PortTest.RandomPortInitailizer
;
import
org.springframework.context.ApplicationContextInitializer
;
import
org.springframework.context.ConfigurableApplicationContext
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.test.context.ContextConfiguration
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
org.springframework.test.context.support.TestPropertySourceUtils
;
import
org.springframework.util.SocketUtils
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
@ContextConfiguration
(
initializers
=
RandomPortInitailizer
.
class
)
public
class
PortTest
{
@Autowired
private
SomeService
service
;
@Test
public
void
testName
()
throws
Exception
{
System
.
out
.
println
(
this
.
service
);
assertThat
(
this
.
service
.
toString
()).
containsOnlyDigits
();
}
@Configuration
static
class
MyConfig
{
@Bean
public
SomeService
someService
(
@Value
(
"${my.random.port}"
)
int
port
)
{
return
new
SomeService
(
port
);
}
}
static
class
SomeService
{
private
final
int
port
;
public
SomeService
(
int
port
)
{
this
.
port
=
port
;
}
@Override
public
String
toString
()
{
return
String
.
valueOf
(
this
.
port
);
}
}
public
static
class
RandomPortInitailizer
implements
ApplicationContextInitializer
<
ConfigurableApplicationContext
>
{
@Override
public
void
initialize
(
ConfigurableApplicationContext
applicationContext
)
{
int
randomPort
=
SocketUtils
.
findAvailableTcpPort
();
TestPropertySourceUtils
.
addInlinedPropertiesToEnvironment
(
applicationContext
,
"my.random.port="
+
randomPort
);
}
}
}
spring-boot/src/main/java/org/springframework/boot/logging/log4j2/SpringBootConfigurationFactory.java
0 → 100644
View file @
a2c50a98
/*
* Copyright 2012-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
springframework
.
boot
.
logging
.
log4j2
;
import
java.net.URI
;
import
org.apache.logging.log4j.core.LoggerContext
;
import
org.apache.logging.log4j.core.config.Configuration
;
import
org.apache.logging.log4j.core.config.ConfigurationFactory
;
import
org.apache.logging.log4j.core.config.ConfigurationSource
;
import
org.apache.logging.log4j.core.config.DefaultConfiguration
;
import
org.apache.logging.log4j.core.config.Order
;
import
org.apache.logging.log4j.core.config.plugins.Plugin
;
/**
* Spring Boot {@link ConfigurationFactory} that prevents logger warnings from being
* printed when the application first starts.
*
* @author Phillip Webb
* @since 1.5.0
*/
@Plugin
(
name
=
"SpringBootConfigurationFactory"
,
category
=
ConfigurationFactory
.
CATEGORY
)
@Order
(
4
)
// Order behind XmlConfigurationFactory
public
class
SpringBootConfigurationFactory
extends
ConfigurationFactory
{
private
static
final
String
[]
ALL_TYPES
=
{
"*"
};
@Override
protected
String
[]
getSupportedTypes
()
{
return
ALL_TYPES
;
}
@Override
public
Configuration
getConfiguration
(
LoggerContext
loggerContext
,
String
name
,
URI
configLocation
)
{
if
(
configLocation
==
null
)
{
return
new
DefaultConfiguration
();
}
return
null
;
}
@Override
public
Configuration
getConfiguration
(
LoggerContext
loggerContext
,
String
name
,
URI
configLocation
,
ClassLoader
loader
)
{
return
null
;
}
@Override
public
Configuration
getConfiguration
(
LoggerContext
loggerContext
,
ConfigurationSource
source
)
{
return
null
;
}
}
spring-boot/src/main/resources/org/springframework/boot/logging/log4j2/log4j2-file.xml
View file @
a2c50a98
...
...
@@ -4,15 +4,16 @@
<Property
name=
"PID"
>
????
</Property>
<Property
name=
"LOG_EXCEPTION_CONVERSION_WORD"
>
%xwEx
</Property>
<Property
name=
"LOG_LEVEL_PATTERN"
>
%5p
</Property>
<Property
name=
"LOG_PATTERN"
>
%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}
</Property>
<Property
name=
"CONSOLE_LOG_PATTERN"
>
%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}
</Property>
<Property
name=
"FILE_LOG_PATTERN"
>
%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}
</Property>
</Properties>
<Appenders>
<Console
name=
"Console"
target=
"SYSTEM_OUT"
follow=
"true"
>
<PatternLayout
pattern=
"${LOG_PATTERN}"
/>
<PatternLayout
pattern=
"${
sys:CONSOLE_
LOG_PATTERN}"
/>
</Console>
<RollingFile
name=
"File"
fileName=
"${sys:LOG_FILE}"
filePattern=
"logs/$${date:yyyy-MM}/app-%d{yyyy-MM-dd-HH}-%i.log.gz"
>
<PatternLayout>
<Pattern>
${LOG_PATTERN}
</Pattern>
<Pattern>
${
sys:FILE_
LOG_PATTERN}
</Pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy
size=
"10 MB"
/>
...
...
spring-boot/src/main/resources/org/springframework/boot/logging/log4j2/log4j2.xml
View file @
a2c50a98
...
...
@@ -4,11 +4,12 @@
<Property
name=
"PID"
>
????
</Property>
<Property
name=
"LOG_EXCEPTION_CONVERSION_WORD"
>
%xwEx
</Property>
<Property
name=
"LOG_LEVEL_PATTERN"
>
%5p
</Property>
<Property
name=
"LOG_PATTERN"
>
%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}
</Property>
<Property
name=
"CONSOLE_LOG_PATTERN"
>
%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}
</Property>
<Property
name=
"FILE_LOG_PATTERN"
>
%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}
</Property>
</Properties>
<Appenders>
<Console
name=
"Console"
target=
"SYSTEM_OUT"
follow=
"true"
>
<PatternLayout
pattern=
"${LOG_PATTERN}"
/>
<PatternLayout
pattern=
"${
sys:CONSOLE_
LOG_PATTERN}"
/>
</Console>
</Appenders>
<Loggers>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment