Here you go: https://issues.apache.org/jira/browse/LOG4J2-767


On Fri, May 16, 2014 at 4:28 PM, Gary Gregory <garydgreg...@gmail.com>
wrote:

> On Thu, May 15, 2014 at 5:39 AM, Mikael Ståldal <
> mikael.stal...@appearnetworks.com> wrote:
>
>> Yes, this is currently based on 2.0-rc1.
>>
>
> You'd better check out trunk, adjust and build against that...
>
> Gary
>
>
>>
>> On Wed, May 14, 2014 at 6:55 PM, Matt Sicker <boa...@gmail.com> wrote:
>>
>>> Looks like you'll have to update it for the current API (which will be
>>> finalized with 2.0).
>>>
>>>
>>> On 14 May 2014 11:26, Mikael Ståldal <mikael.stal...@appearnetworks.com>
>>> wrote:
>>>
>>>> I have made an Log4j 2 plugin to Liquibase (http://www.liquibase.org/).
>>>>
>>>> It seems like the Liquibase project don't want this kind of stuff in
>>>> their own project, they seems to encourage third-party plugins.
>>>>
>>>> But I would like this to be available as a public Maven dependency. So
>>>> I wonder if it's possible to include it as part of the Log4j project (as I
>>>> separate module I guess)?
>>>>
>>>> I have signed an Apache CLA, and I am willing to contribute the code.
>>>>
>>>> (The class have to be in the liquibase package in order for the
>>>> Liquibase plugin discovery to work.)
>>>>
>>>>
>>>> /*
>>>>  * Copyright (c) 2014, Appear Networks. All Rights Reserved.
>>>>  *
>>>>  * 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 liquibase.ext.logging.log4j2;
>>>>
>>>> import liquibase.changelog.ChangeSet;
>>>> import liquibase.changelog.DatabaseChangeLog;
>>>> import liquibase.logging.core.AbstractLogger;
>>>> import org.apache.logging.log4j.LogManager;
>>>> import org.apache.logging.log4j.Logger;
>>>>
>>>> /**
>>>>  * Logging to Log4j 2.x.
>>>>  */
>>>> public class Log4j2Logger extends AbstractLogger {
>>>>
>>>>     private Logger logger;
>>>>     private String changeLogName = null;
>>>>     private String changeSetName = null;
>>>>
>>>>     @Override
>>>>     public int getPriority() {
>>>>         return 5;
>>>>     }
>>>>
>>>>     @Override
>>>>     public void setName(String name) {
>>>>         logger = LogManager.getLogger(name);
>>>>     }
>>>>
>>>>     @Override
>>>>     public void setChangeLog(DatabaseChangeLog databaseChangeLog) {
>>>>         if (databaseChangeLog == null) {
>>>>             changeLogName = null;
>>>>         } else {
>>>>             changeLogName = databaseChangeLog.getFilePath();
>>>>         }
>>>>     }
>>>>
>>>>     @Override
>>>>     public void setChangeSet(ChangeSet changeSet) {
>>>>         changeSetName = (changeSet == null ? null :
>>>> changeSet.toString(false));
>>>>     }
>>>>
>>>>     @Override
>>>>     public void setLogLevel(String logLevel, String logFile) {
>>>>         setLogLevel(logLevel);
>>>>         // ignore logFile
>>>>     }
>>>>
>>>>     @Override
>>>>     public void severe(String message) {
>>>>         if (logger.isErrorEnabled()) {
>>>>             logger.error(formatMessage(message));
>>>>         }
>>>>     }
>>>>
>>>>     @Override
>>>>     public void severe(String message, Throwable e) {
>>>>         if (logger.isErrorEnabled()) {
>>>>             logger.error(formatMessage(message), e);
>>>>         }
>>>>     }
>>>>
>>>>     @Override
>>>>     public void warning(String message) {
>>>>         if (logger.isWarnEnabled()) {
>>>>             logger.warn(formatMessage(message));
>>>>         }
>>>>     }
>>>>
>>>>     @Override
>>>>     public void warning(String message, Throwable e) {
>>>>         if (logger.isWarnEnabled()) {
>>>>             logger.warn(formatMessage(message), e);
>>>>         }
>>>>     }
>>>>
>>>>     @Override
>>>>     public void info(String message) {
>>>>         if (logger.isInfoEnabled()) {
>>>>             logger.info(formatMessage(message));
>>>>         }
>>>>     }
>>>>
>>>>     @Override
>>>>     public void info(String message, Throwable e) {
>>>>         if (logger.isInfoEnabled()) {
>>>>             logger.info(formatMessage(message), e);
>>>>         }
>>>>     }
>>>>
>>>>     @Override
>>>>      public void debug(String message) {
>>>>         if (logger.isDebugEnabled()) {
>>>>             logger.debug(formatMessage(message));
>>>>         }
>>>>     }
>>>>
>>>>     @Override
>>>>     public void debug(String message, Throwable e) {
>>>>         if (logger.isDebugEnabled()) {
>>>>             logger.debug(formatMessage(message), e);
>>>>         }
>>>>     }
>>>>
>>>>      private String formatMessage(String message) {
>>>>         StringBuilder buffer = new StringBuilder();
>>>>         if (changeLogName != null) {
>>>>             buffer.append(changeLogName);
>>>>             buffer.append(": ");
>>>>         }
>>>>         if (changeSetName != null) {
>>>>             buffer.append(changeSetName.replace(changeLogName + "::",
>>>> ""));
>>>>             buffer.append(": ");
>>>>         }
>>>>         buffer.append(message);
>>>>         return buffer.toString();
>>>>     }
>>>> }
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Mikael Ståldal
>>>> Chief Software Architect
>>>> *Appear*
>>>> Phone: +46 8 545 91 572
>>>> Email: mikael.stal...@appearnetworks.com
>>>>
>>>
>>>
>>>
>>> --
>>> Matt Sicker <boa...@gmail.com>
>>>
>>
>>
>>
>> --
>> Mikael Ståldal
>> Chief Software Architect
>> *Appear*
>> Phone: +46 8 545 91 572
>> Email: mikael.stal...@appearnetworks.com
>>
>
>
>
> --
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>



-- 
Mikael Ståldal
Chief Software Architect
*Appear*
Phone: +46 8 545 91 572
Email: mikael.stal...@appearnetworks.com

Reply via email to