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

Reply via email to