Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
xiaofang li
Logging Log4j2
Commits
84e16b88
Commit
84e16b88
authored
8 years ago
by
rpopma
Browse files
Options
Download
Email Patches
Plain Diff
LOG4J2-1665 make IntegerPatternConverter garbage-free
parent
e0058d67
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/IntegerPatternConverter.java
+7
-9
...e/logging/log4j/core/pattern/IntegerPatternConverter.java
src/changes/changes.xml
+3
-0
src/changes/changes.xml
with
10 additions
and
9 deletions
+10
-9
log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/IntegerPatternConverter.java
+
7
-
9
View file @
84e16b88
...
...
@@ -20,14 +20,13 @@ import java.util.Date;
import
org.apache.logging.log4j.core.config.plugins.Plugin
;
/**
* Formats an integer.
*/
@Plugin
(
name
=
"IntegerPatternConverter"
,
category
=
"FileConverter"
)
@ConverterKeys
({
"i"
,
"index"
})
public
final
class
IntegerPatternConverter
extends
AbstractPatternConverter
implements
ArrayPatternConverter
{
/**
* Singleton.
*/
...
...
@@ -46,16 +45,15 @@ public final class IntegerPatternConverter extends AbstractPatternConverter impl
* @param options options, may be null.
* @return instance of pattern converter.
*/
public
static
IntegerPatternConverter
newInstance
(
final
String
[]
options
)
{
public
static
IntegerPatternConverter
newInstance
(
final
String
[]
options
)
{
return
INSTANCE
;
}
@Override
public
void
format
(
final
StringBuilder
toAppendTo
,
final
Object
...
objects
)
{
for
(
f
in
al
Object
obj
:
objects
)
{
if
(
obj
instanceof
Integer
)
{
format
(
obj
,
toAppendTo
);
for
(
in
t
i
=
0
;
i
<
objects
.
length
;
i
++
)
{
if
(
obj
ects
[
i
]
instanceof
Integer
)
{
format
(
obj
ects
[
i
]
,
toAppendTo
);
break
;
}
}
...
...
@@ -67,9 +65,9 @@ public final class IntegerPatternConverter extends AbstractPatternConverter impl
@Override
public
void
format
(
final
Object
obj
,
final
StringBuilder
toAppendTo
)
{
if
(
obj
instanceof
Integer
)
{
toAppendTo
.
append
(
obj
.
toString
());
toAppendTo
.
append
(
((
Integer
)
obj
).
intValue
());
}
else
if
(
obj
instanceof
Date
)
{
toAppendTo
.
append
(
Long
.
toString
(
((
Date
)
obj
).
getTime
())
)
;
toAppendTo
.
append
(((
Date
)
obj
).
getTime
());
}
}
}
This diff is collapsed.
Click to expand it.
src/changes/changes.xml
+
3
-
0
View file @
84e16b88
...
...
@@ -24,6 +24,9 @@
</properties>
<body>
<release
version=
"2.8"
date=
"2016-MM-DD"
description=
"GA Release 2.8"
>
<action
issue=
"LOG4J2-1665"
dev=
"rpopma"
type=
"fix"
>
(GC) Avoid allocating temporary objects in IntegerPatternConverter.
</action>
<action
issue=
"LOG4J2-1637"
dev=
"rpopma"
type=
"fix"
>
Fixed problems when used in OSGi containers (IllegalAccessError, NoClassDefFoundError).
</action>
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
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