Search in sources :

Example 21 with Log

use of lucee.commons.io.log.Log in project Lucee by lucee.

the class DatasourceStorageScopeCleaner method clean.

private void clean(ConfigWeb config, DataSource dataSource) throws PageException, SQLException {
    ConfigWebImpl cwi = (ConfigWebImpl) config;
    DatasourceConnection dc = null;
    DatasourceConnectionPool pool = cwi.getDatasourceConnectionPool();
    try {
        dc = pool.getDatasourceConnection(null, dataSource, null, null);
        Log log = ((ConfigImpl) config).getLog("scope");
        SQLExecutor executor = SQLExecutionFactory.getInstance(dc);
        executor.clean(config, dc, type, engine, this, listener, log);
    } finally {
        if (dc != null)
            pool.releaseDatasourceConnection(dc);
    }
}
Also used : ConfigWebImpl(lucee.runtime.config.ConfigWebImpl) DatasourceConnection(lucee.runtime.db.DatasourceConnection) DatasourceConnectionPool(lucee.runtime.db.DatasourceConnectionPool) Log(lucee.commons.io.log.Log) SQLExecutor(lucee.runtime.type.scope.storage.db.SQLExecutor) ConfigImpl(lucee.runtime.config.ConfigImpl)

Example 22 with Log

use of lucee.commons.io.log.Log in project Lucee by lucee.

the class ColumnInfo method doEndTag.

@Override
public int doEndTag() throws PageException {
    Object ds = DBInfo.getDatasource(pageContext, datasource);
    DataSourceManager manager = pageContext.getDataSourceManager();
    DatasourceConnection dc = ds instanceof DataSource ? manager.getConnection(pageContext, (DataSource) ds, username, password) : manager.getConnection(pageContext, Caster.toString(ds), username, password);
    try {
        Struct meta = null;
        try {
            meta = getMeta(dc, tablequalifier, tableowner, tablename);
        } catch (SQLException se) {
            meta = new StructImpl();
        }
        SQL sql = createSQL(meta);
        if (sql != null) {
            lucee.runtime.type.Query query = new QueryImpl(pageContext, dc, sql, -1, -1, null, "query");
            if (pageContext.getConfig().debug()) {
                String dsn = ds instanceof DataSource ? ((DataSource) ds).getName() : Caster.toString(ds);
                boolean logdb = ((ConfigImpl) pageContext.getConfig()).hasDebugOptions(ConfigImpl.DEBUG_DATABASE);
                if (logdb) {
                    boolean debugUsage = DebuggerImpl.debugQueryUsage(pageContext, query);
                    pageContext.getDebugger().addQuery(debugUsage ? query : null, dsn, "", sql, query.getRecordcount(), pageContext.getCurrentPageSource(), query.getExecutionTime());
                }
            }
            // log
            Log log = pageContext.getConfig().getLog("datasource");
            if (log.getLogLevel() >= Log.LEVEL_INFO) {
                log.info("insert tag", "executed [" + sql.toString().trim() + "] in " + DecimalFormat.call(pageContext, query.getExecutionTime() / 1000000D) + " ms");
            }
        }
        return EVAL_PAGE;
    } catch (PageException pe) {
        pageContext.getConfig().getLog("datasource").error("insert tag", pe);
        throw pe;
    } finally {
        manager.releaseConnection(pageContext, dc);
    }
}
Also used : PageException(lucee.runtime.exp.PageException) DatasourceConnection(lucee.runtime.db.DatasourceConnection) SQLException(java.sql.SQLException) Log(lucee.commons.io.log.Log) DataSourceManager(lucee.runtime.db.DataSourceManager) DataSource(lucee.runtime.db.DataSource) Struct(lucee.runtime.type.Struct) SQL(lucee.runtime.db.SQL) QueryImpl(lucee.runtime.type.QueryImpl) StructImpl(lucee.runtime.type.StructImpl) ConfigImpl(lucee.runtime.config.ConfigImpl)

Example 23 with Log

use of lucee.commons.io.log.Log in project Lucee by lucee.

the class ScopeContext method clearUnused.

/**
 * remove all unused scope objects
 */
public void clearUnused() {
    Log log = getLog();
    try {
        // create cleaner engine for session/client scope
        if (session == null)
            session = new StorageScopeEngine(factory, log, new StorageScopeCleaner[] { // new
            new FileStorageScopeCleaner(Scope.SCOPE_SESSION, null), // new
            new DatasourceStorageScopeCleaner(Scope.SCOPE_SESSION, null) // SessionEndListener())
            // ,new CacheStorageScopeCleaner(Scope.SCOPE_SESSION, new SessionEndListener())
            });
        if (client == null)
            client = new StorageScopeEngine(factory, log, new StorageScopeCleaner[] { new FileStorageScopeCleaner(Scope.SCOPE_CLIENT, null), new DatasourceStorageScopeCleaner(Scope.SCOPE_CLIENT, null) // ,new CacheStorageScopeCleaner(Scope.SCOPE_CLIENT, null) //Cache storage need no control, if
            // there is no listener
            });
        // store session/client scope and remove from memory
        storeUnusedStorageScope(factory, Scope.SCOPE_CLIENT);
        storeUnusedStorageScope(factory, Scope.SCOPE_SESSION);
        // remove unused memory based client/session scope (invoke onSessonEnd)
        clearUnusedMemoryScope(factory, Scope.SCOPE_CLIENT);
        clearUnusedMemoryScope(factory, Scope.SCOPE_SESSION);
        // session must be executed first, because session creates a reference from client scope
        session.clean();
        client.clean();
        // clean all unused application scopes
        clearUnusedApplications(factory);
    } catch (Throwable t) {
        ExceptionUtil.rethrowIfNecessary(t);
        error(t);
    }
}
Also used : FileStorageScopeCleaner(lucee.runtime.type.scope.storage.clean.FileStorageScopeCleaner) StorageScopeEngine(lucee.runtime.type.scope.storage.StorageScopeEngine) Log(lucee.commons.io.log.Log) DatasourceStorageScopeCleaner(lucee.runtime.type.scope.storage.clean.DatasourceStorageScopeCleaner)

Example 24 with Log

use of lucee.commons.io.log.Log in project Lucee by lucee.

the class StorageScopeDatasource method store.

@Override
public void store(PageContext pc) {
    DatasourceConnection dc = null;
    ConfigImpl ci = (ConfigImpl) ThreadLocalPageContext.getConfig(pc);
    DatasourceConnectionPool pool = ci.getDatasourceConnectionPool();
    Log log = ci.getLog("scope");
    try {
        // FUTURE change method interface
        pc = ThreadLocalPageContext.get(pc);
        DataSource ds;
        if (pc != null)
            ds = pc.getDataSource(datasourceName);
        else
            ds = ci.getDataSource(datasourceName);
        dc = pool.getDatasourceConnection(null, ds, null, null);
        SQLExecutor executor = SQLExecutionFactory.getInstance(dc);
        executor.update(ci, cfid, appName, dc, getType(), sct, getTimeSpan(), log);
    } catch (Throwable t) {
        ExceptionUtil.rethrowIfNecessary(t);
        ScopeContext.error(log, t);
    } finally {
        if (dc != null)
            pool.releaseDatasourceConnection(dc);
    }
}
Also used : DatasourceConnection(lucee.runtime.db.DatasourceConnection) DatasourceConnectionPool(lucee.runtime.db.DatasourceConnectionPool) Log(lucee.commons.io.log.Log) SQLExecutor(lucee.runtime.type.scope.storage.db.SQLExecutor) ConfigImpl(lucee.runtime.config.ConfigImpl) DataSource(lucee.runtime.db.DataSource)

Example 25 with Log

use of lucee.commons.io.log.Log in project Lucee by lucee.

the class OSGiUtil method log.

private static void log(Throwable t) {
    try {
        Config config = ThreadLocalPageContext.getConfig();
        Log log = config != null ? config.getLog("application") : null;
        if (log != null)
            log.log(Log.LEVEL_ERROR, "OSGi", t);
    } catch (Throwable _t) {
        ExceptionUtil.rethrowIfNecessary(_t);
        /* this can fail when called from an old loader */
        System.out.println(t.getMessage());
    }
}
Also used : Log(lucee.commons.io.log.Log) Config(lucee.runtime.config.Config)

Aggregations

Log (lucee.commons.io.log.Log)35 ConfigImpl (lucee.runtime.config.ConfigImpl)14 PageException (lucee.runtime.exp.PageException)10 Resource (lucee.commons.io.res.Resource)8 ApplicationException (lucee.runtime.exp.ApplicationException)8 DatasourceConnection (lucee.runtime.db.DatasourceConnection)7 Struct (lucee.runtime.type.Struct)6 SQLException (java.sql.SQLException)5 ZipInputStream (java.util.zip.ZipInputStream)5 DataSource (lucee.runtime.db.DataSource)5 InputStream (java.io.InputStream)4 ZipEntry (java.util.zip.ZipEntry)4 StructImpl (lucee.runtime.type.StructImpl)4 ByteArrayInputStream (java.io.ByteArrayInputStream)3 IOException (java.io.IOException)3 HashMap (java.util.HashMap)3 Entry (java.util.Map.Entry)3 Attributes (java.util.jar.Attributes)3 DatabaseException (lucee.runtime.exp.DatabaseException)3 Key (lucee.runtime.type.Collection.Key)3