mirror of
https://github.com/imgfloat/server.git
synced 2026-05-08 10:19:35 +00:00
refactor: standardize logger field name to LOG across all production classes
This commit is contained in:
@@ -14,7 +14,7 @@ public class SchemaMigration implements ApplicationRunner {
|
||||
|
||||
// TODO: Code smell Runtime schema migration logic duplicates Flyway responsibilities and is difficult to reason about/test.
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SchemaMigration.class);
|
||||
private static final Logger LOG = LoggerFactory.getLogger(SchemaMigration.class);
|
||||
|
||||
private final JdbcTemplate jdbcTemplate;
|
||||
|
||||
@@ -46,9 +46,9 @@ public class SchemaMigration implements ApplicationRunner {
|
||||
END;
|
||||
"""
|
||||
);
|
||||
logger.info("Ensured SPRING_SESSION_ATTRIBUTES upsert trigger exists");
|
||||
LOG.info("Ensured SPRING_SESSION_ATTRIBUTES upsert trigger exists");
|
||||
} catch (DataAccessException ex) {
|
||||
logger.warn("Unable to ensure SPRING_SESSION_ATTRIBUTES upsert trigger", ex);
|
||||
LOG.warn("Unable to ensure SPRING_SESSION_ATTRIBUTES upsert trigger", ex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ public class SchemaMigration implements ApplicationRunner {
|
||||
try {
|
||||
columns = jdbcTemplate.query("PRAGMA table_info(channels)", (rs, rowNum) -> rs.getString("name"));
|
||||
} catch (DataAccessException ex) {
|
||||
logger.warn("Unable to inspect channels table for canvas columns", ex);
|
||||
LOG.warn("Unable to inspect channels table for canvas columns", ex);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ public class SchemaMigration implements ApplicationRunner {
|
||||
try {
|
||||
columns = jdbcTemplate.query("PRAGMA table_info(assets)", (rs, rowNum) -> rs.getString("name"));
|
||||
} catch (DataAccessException ex) {
|
||||
logger.warn("Unable to inspect assets table for asset columns", ex);
|
||||
LOG.warn("Unable to inspect assets table for asset columns", ex);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -169,7 +169,7 @@ public class SchemaMigration implements ApplicationRunner {
|
||||
ensureScriptAssetColumns();
|
||||
backfillAssetTypes(assetColumns);
|
||||
} catch (DataAccessException ex) {
|
||||
logger.warn("Unable to ensure asset type tables", ex);
|
||||
LOG.warn("Unable to ensure asset type tables", ex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -185,7 +185,7 @@ public class SchemaMigration implements ApplicationRunner {
|
||||
"""
|
||||
);
|
||||
} catch (DataAccessException ex) {
|
||||
logger.warn("Unable to ensure marketplace script hearts table", ex);
|
||||
LOG.warn("Unable to ensure marketplace script hearts table", ex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ public class SchemaMigration implements ApplicationRunner {
|
||||
attachmentColumns =
|
||||
jdbcTemplate.query("PRAGMA table_info(script_asset_attachments)", (rs, rowNum) -> rs.getString("name"));
|
||||
} catch (DataAccessException ex) {
|
||||
logger.warn("Unable to inspect script asset tables", ex);
|
||||
LOG.warn("Unable to inspect script asset tables", ex);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -236,7 +236,7 @@ public class SchemaMigration implements ApplicationRunner {
|
||||
);
|
||||
jdbcTemplate.execute("UPDATE script_asset_attachments SET file_id = id WHERE file_id IS NULL");
|
||||
} catch (DataAccessException ex) {
|
||||
logger.warn("Unable to backfill script asset files", ex);
|
||||
LOG.warn("Unable to backfill script asset files", ex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -295,7 +295,7 @@ public class SchemaMigration implements ApplicationRunner {
|
||||
"""
|
||||
);
|
||||
} catch (DataAccessException ex) {
|
||||
logger.warn("Unable to backfill asset type tables", ex);
|
||||
LOG.warn("Unable to backfill asset type tables", ex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -326,9 +326,9 @@ public class SchemaMigration implements ApplicationRunner {
|
||||
columnName +
|
||||
" IS NULL"
|
||||
);
|
||||
logger.info("Added missing column '{}' to {} table", columnName, tableName);
|
||||
LOG.info("Added missing column '{}' to {} table", columnName, tableName);
|
||||
} catch (DataAccessException ex) {
|
||||
logger.warn("Failed to add column '{}' to {} table", columnName, tableName, ex);
|
||||
LOG.warn("Failed to add column '{}' to {} table", columnName, tableName, ex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -350,9 +350,9 @@ public class SchemaMigration implements ApplicationRunner {
|
||||
)
|
||||
"""
|
||||
);
|
||||
logger.info("Ensured oauth2_authorized_client table exists");
|
||||
LOG.info("Ensured oauth2_authorized_client table exists");
|
||||
} catch (DataAccessException ex) {
|
||||
logger.warn("Unable to ensure oauth2_authorized_client table", ex);
|
||||
LOG.warn("Unable to ensure oauth2_authorized_client table", ex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -394,10 +394,10 @@ public class SchemaMigration implements ApplicationRunner {
|
||||
" IS NOT NULL"
|
||||
);
|
||||
if (updated > 0) {
|
||||
logger.info("Normalized {} rows in oauth2_authorized_client.{}", updated, column);
|
||||
LOG.info("Normalized {} rows in oauth2_authorized_client.{}", updated, column);
|
||||
}
|
||||
} catch (DataAccessException ex) {
|
||||
logger.warn("Unable to normalize oauth2_authorized_client.{} timestamps", column, ex);
|
||||
LOG.warn("Unable to normalize oauth2_authorized_client.{} timestamps", column, ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ import org.springframework.util.unit.DataSize;
|
||||
@Component
|
||||
public class SystemEnvironmentValidator {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(SystemEnvironmentValidator.class);
|
||||
private static final Logger LOG = LoggerFactory.getLogger(SystemEnvironmentValidator.class);
|
||||
|
||||
private final Environment environment;
|
||||
|
||||
@@ -63,7 +63,7 @@ public class SystemEnvironmentValidator {
|
||||
environment.getProperty("org.springframework.boot.test.context.SpringBootTestContextBootstrapper")
|
||||
)
|
||||
) {
|
||||
log.info("Skipping environment validation in test context");
|
||||
LOG.info("Skipping environment validation in test context");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -88,19 +88,19 @@ public class SystemEnvironmentValidator {
|
||||
throw new IllegalStateException("Missing or invalid environment variables:\n" + missing);
|
||||
}
|
||||
|
||||
log.info("Environment validation successful:");
|
||||
log.info(" - TWITCH_CLIENT_ID: {}", redact(twitchClientId));
|
||||
log.info(" - TWITCH_CLIENT_SECRET: {}", redact(twitchClientSecret));
|
||||
log.info(" - SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE: {} ({} bytes)", springMaxFileSize, maxUploadBytes);
|
||||
log.info(" - SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE: {} ({} bytes)", springMaxRequestSize, maxRequestBytes);
|
||||
log.info(" - IMGFLOAT_DB_PATH: {}", dbPath);
|
||||
log.info(" - IMGFLOAT_AUDIT_DB_PATH: {}", auditDbPath);
|
||||
log.info(" - IMGFLOAT_INITIAL_TWITCH_USERNAME_SYSADMIN: {}", initialSysadmin);
|
||||
log.info(" - IMGFLOAT_ASSETS_PATH: {}", assetsPath);
|
||||
log.info(" - IMGFLOAT_PREVIEWS_PATH: {}", previewsPath);
|
||||
log.info(" - IMGFLOAT_GITHUB_CLIENT_OWNER: {}", githubClientOwner);
|
||||
log.info(" - IMGFLOAT_GITHUB_CLIENT_REPO: {}", githubClientRepo);
|
||||
log.info(" - IMGFLOAT_GITHUB_CLIENT_VERSION: {}", githubClientVersion);
|
||||
LOG.info("Environment validation successful:");
|
||||
LOG.info(" - TWITCH_CLIENT_ID: {}", redact(twitchClientId));
|
||||
LOG.info(" - TWITCH_CLIENT_SECRET: {}", redact(twitchClientSecret));
|
||||
LOG.info(" - SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE: {} ({} bytes)", springMaxFileSize, maxUploadBytes);
|
||||
LOG.info(" - SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE: {} ({} bytes)", springMaxRequestSize, maxRequestBytes);
|
||||
LOG.info(" - IMGFLOAT_DB_PATH: {}", dbPath);
|
||||
LOG.info(" - IMGFLOAT_AUDIT_DB_PATH: {}", auditDbPath);
|
||||
LOG.info(" - IMGFLOAT_INITIAL_TWITCH_USERNAME_SYSADMIN: {}", initialSysadmin);
|
||||
LOG.info(" - IMGFLOAT_ASSETS_PATH: {}", assetsPath);
|
||||
LOG.info(" - IMGFLOAT_PREVIEWS_PATH: {}", previewsPath);
|
||||
LOG.info(" - IMGFLOAT_GITHUB_CLIENT_OWNER: {}", githubClientOwner);
|
||||
LOG.info(" - IMGFLOAT_GITHUB_CLIENT_REPO: {}", githubClientRepo);
|
||||
LOG.info(" - IMGFLOAT_GITHUB_CLIENT_VERSION: {}", githubClientVersion);
|
||||
}
|
||||
|
||||
private void checkString(String value, String name, StringBuilder missing) {
|
||||
|
||||
@@ -18,7 +18,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
@Service
|
||||
public class AssetCleanupService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(AssetCleanupService.class);
|
||||
private static final Logger LOG = LoggerFactory.getLogger(AssetCleanupService.class);
|
||||
|
||||
private final AssetRepository assetRepository;
|
||||
private final AssetStorageService assetStorageService;
|
||||
@@ -41,7 +41,7 @@ public class AssetCleanupService {
|
||||
@EventListener(ApplicationReadyEvent.class)
|
||||
@Transactional(readOnly = true)
|
||||
public void cleanup() {
|
||||
logger.info("Collecting referenced assets");
|
||||
LOG.info("Collecting referenced assets");
|
||||
|
||||
Set<String> referencedIds = assetRepository
|
||||
.findAll()
|
||||
|
||||
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class AssetStorageService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(AssetStorageService.class);
|
||||
private static final Logger LOG = LoggerFactory.getLogger(AssetStorageService.class);
|
||||
private static final String DEFAULT_PREVIEW_MEDIA_TYPE = "image/png";
|
||||
|
||||
private final Path assetRoot;
|
||||
@@ -57,7 +57,7 @@ public class AssetStorageService {
|
||||
StandardOpenOption.TRUNCATE_EXISTING,
|
||||
StandardOpenOption.WRITE
|
||||
);
|
||||
logger.info("Wrote asset to {}", file);
|
||||
LOG.info("Wrote asset to {}", file);
|
||||
}
|
||||
|
||||
public void storePreview(String broadcaster, String assetId, byte[] previewBytes) throws IOException {
|
||||
@@ -73,7 +73,7 @@ public class AssetStorageService {
|
||||
StandardOpenOption.TRUNCATE_EXISTING,
|
||||
StandardOpenOption.WRITE
|
||||
);
|
||||
logger.info("Wrote asset preview to {}", file);
|
||||
LOG.info("Wrote asset preview to {}", file);
|
||||
}
|
||||
|
||||
public Optional<AssetContent> loadAssetFile(String broadcaster, String assetId, String mediaType) {
|
||||
@@ -85,7 +85,7 @@ public class AssetStorageService {
|
||||
byte[] bytes = Files.readAllBytes(file);
|
||||
return Optional.of(new AssetContent(bytes, mediaType));
|
||||
} catch (Exception e) {
|
||||
logger.warn("Failed to load asset {}", assetId, e);
|
||||
LOG.warn("Failed to load asset {}", assetId, e);
|
||||
return Optional.empty();
|
||||
}
|
||||
}
|
||||
@@ -98,7 +98,7 @@ public class AssetStorageService {
|
||||
byte[] bytes = Files.readAllBytes(file);
|
||||
return Optional.of(new AssetContent(bytes, DEFAULT_PREVIEW_MEDIA_TYPE));
|
||||
} catch (Exception e) {
|
||||
logger.warn("Failed to load preview {}", assetId, e);
|
||||
LOG.warn("Failed to load preview {}", assetId, e);
|
||||
return Optional.empty();
|
||||
}
|
||||
}
|
||||
@@ -126,7 +126,7 @@ public class AssetStorageService {
|
||||
Files.deleteIfExists(previewPath(broadcaster, assetId));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.warn("Failed to delete asset {}", assetId, e);
|
||||
LOG.warn("Failed to delete asset {}", assetId, e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -146,13 +146,13 @@ public class AssetStorageService {
|
||||
.forEach((p) -> {
|
||||
try {
|
||||
Files.delete(p);
|
||||
logger.warn("Deleted orphan file {}", p);
|
||||
LOG.warn("Deleted orphan file {}", p);
|
||||
} catch (IOException e) {
|
||||
logger.error("Failed to delete {}", p, e);
|
||||
LOG.error("Failed to delete {}", p, e);
|
||||
}
|
||||
});
|
||||
} catch (IOException e) {
|
||||
logger.error("Failed to walk {}", root, e);
|
||||
LOG.error("Failed to walk {}", root, e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ import org.springframework.web.server.ResponseStatusException;
|
||||
@Service
|
||||
public class ChannelDirectoryService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(ChannelDirectoryService.class);
|
||||
private static final Logger LOG = LoggerFactory.getLogger(ChannelDirectoryService.class);
|
||||
private static final Pattern SAFE_FILENAME = Pattern.compile("[^a-zA-Z0-9._ -]");
|
||||
private static final String DEFAULT_CODE_MEDIA_TYPE = "application/javascript";
|
||||
private static final EnumSet<AssetType> VISUAL_ASSET_TYPES = EnumSet.of(
|
||||
@@ -494,7 +494,7 @@ public class ChannelDirectoryService {
|
||||
try {
|
||||
sourceScript = scriptAssetRepository.findById(scriptId).filter(ScriptAsset::isPublic).orElse(null);
|
||||
} catch (DataAccessException ex) {
|
||||
logger.warn("Unable to import marketplace script {}", scriptId, ex);
|
||||
LOG.warn("Unable to import marketplace script {}", scriptId, ex);
|
||||
return Optional.empty();
|
||||
}
|
||||
Asset sourceAsset = sourceScript == null ? null : assetRepository.findById(scriptId).orElse(null);
|
||||
@@ -660,7 +660,7 @@ public class ChannelDirectoryService {
|
||||
try {
|
||||
return Optional.of(Files.readAllBytes(path));
|
||||
} catch (IOException ex) {
|
||||
logger.warn("Failed to read marketplace attachment {}", path, ex);
|
||||
LOG.warn("Failed to read marketplace attachment {}", path, ex);
|
||||
return Optional.empty();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ public class MarketplaceScriptSeedLoader {
|
||||
|
||||
// TODO: Code smell Large parser/loader with many branching paths; consider decomposing into smaller collaborators.
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(MarketplaceScriptSeedLoader.class);
|
||||
private static final Logger LOG = LoggerFactory.getLogger(MarketplaceScriptSeedLoader.class);
|
||||
private static final String METADATA_FILENAME = "metadata.json";
|
||||
private static final String SOURCE_FILENAME = "source.js";
|
||||
private static final String LOGO_FILENAME = "logo.png";
|
||||
@@ -127,7 +127,7 @@ public class MarketplaceScriptSeedLoader {
|
||||
return List.of();
|
||||
}
|
||||
if (!Files.isDirectory(rootPath)) {
|
||||
logger.warn("Marketplace script path {} is not a directory", rootPath);
|
||||
LOG.warn("Marketplace script path {} is not a directory", rootPath);
|
||||
return List.of();
|
||||
}
|
||||
List<SeedScript> loaded = new ArrayList<>();
|
||||
@@ -139,7 +139,7 @@ public class MarketplaceScriptSeedLoader {
|
||||
loadScriptDirectory(scriptDir).ifPresent(loaded::add);
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
logger.warn("Failed to read marketplace script directory {}", rootPath, ex);
|
||||
LOG.warn("Failed to read marketplace script directory {}", rootPath, ex);
|
||||
}
|
||||
return List.copyOf(loaded);
|
||||
}
|
||||
@@ -147,11 +147,11 @@ public class MarketplaceScriptSeedLoader {
|
||||
private Optional<SeedScript> loadScriptDirectory(Path scriptDir) {
|
||||
ScriptSeedMetadata metadata = ScriptSeedMetadata.read(scriptDir.resolve(METADATA_FILENAME));
|
||||
if (metadata == null) {
|
||||
logger.warn("Skipping marketplace script {}, missing {}", scriptDir, METADATA_FILENAME);
|
||||
LOG.warn("Skipping marketplace script {}, missing {}", scriptDir, METADATA_FILENAME);
|
||||
return Optional.empty();
|
||||
}
|
||||
if (metadata.name() == null || metadata.name().isBlank()) {
|
||||
logger.warn("Skipping marketplace script {}, missing name", scriptDir);
|
||||
LOG.warn("Skipping marketplace script {}, missing name", scriptDir);
|
||||
return Optional.empty();
|
||||
}
|
||||
String sourceMediaType = detectMediaType(scriptDir.resolve(SOURCE_FILENAME), DEFAULT_SOURCE_MEDIA_TYPE);
|
||||
@@ -161,7 +161,7 @@ public class MarketplaceScriptSeedLoader {
|
||||
Path sourcePath = resolveOptionalFile(scriptDir.resolve(SOURCE_FILENAME));
|
||||
Path logoPath = resolveOptionalFile(scriptDir.resolve(LOGO_FILENAME));
|
||||
if (sourcePath == null) {
|
||||
logger.warn("Skipping marketplace script {}, missing {}", scriptDir, SOURCE_FILENAME);
|
||||
LOG.warn("Skipping marketplace script {}, missing {}", scriptDir, SOURCE_FILENAME);
|
||||
return Optional.empty();
|
||||
}
|
||||
List<SeedAttachment> attachments = loadAttachments(scriptDir.resolve(ATTACHMENTS_DIR)).orElse(null);
|
||||
@@ -199,7 +199,7 @@ public class MarketplaceScriptSeedLoader {
|
||||
if (Files.isRegularFile(attachment)) {
|
||||
String name = attachment.getFileName().toString();
|
||||
if (!seenNames.add(name)) {
|
||||
logger.warn("Duplicate marketplace attachment name {}", name);
|
||||
LOG.warn("Duplicate marketplace attachment name {}", name);
|
||||
return Optional.empty();
|
||||
}
|
||||
String mediaType = detectAttachmentMediaType(attachment);
|
||||
@@ -214,7 +214,7 @@ public class MarketplaceScriptSeedLoader {
|
||||
}
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
logger.warn("Failed to read marketplace attachments in {}", attachmentsDir, ex);
|
||||
LOG.warn("Failed to read marketplace attachments in {}", attachmentsDir, ex);
|
||||
}
|
||||
return Optional.of(List.copyOf(attachments));
|
||||
}
|
||||
@@ -242,7 +242,7 @@ public class MarketplaceScriptSeedLoader {
|
||||
return mediaType;
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
logger.warn("Failed to detect media type for {}", attachment, ex);
|
||||
LOG.warn("Failed to detect media type for {}", attachment, ex);
|
||||
}
|
||||
String filename = attachment.getFileName().toString().toLowerCase(Locale.ROOT);
|
||||
int dot = filename.lastIndexOf('.');
|
||||
@@ -299,7 +299,7 @@ public class MarketplaceScriptSeedLoader {
|
||||
try {
|
||||
return Optional.of(Files.readAllBytes(filePath));
|
||||
} catch (IOException ex) {
|
||||
logger.warn("Failed to read marketplace script asset {}", filePath, ex);
|
||||
LOG.warn("Failed to read marketplace script asset {}", filePath, ex);
|
||||
return Optional.empty();
|
||||
}
|
||||
}
|
||||
@@ -313,7 +313,7 @@ public class MarketplaceScriptSeedLoader {
|
||||
String content = Files.readString(path);
|
||||
return JsonSupport.read(content);
|
||||
} catch (IOException ex) {
|
||||
logger.warn("Failed to read marketplace metadata {}", path, ex);
|
||||
LOG.warn("Failed to read marketplace metadata {}", path, ex);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -347,7 +347,7 @@ public class MarketplaceScriptSeedLoader {
|
||||
String mediaType = Files.probeContentType(path);
|
||||
return mediaType == null ? fallback : mediaType;
|
||||
} catch (IOException ex) {
|
||||
logger.warn("Failed to detect media type for {}", path, ex);
|
||||
LOG.warn("Failed to detect media type for {}", path, ex);
|
||||
return fallback;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class SettingsService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SettingsService.class);
|
||||
private static final Logger LOG = LoggerFactory.getLogger(SettingsService.class);
|
||||
|
||||
private final SettingsRepository repo;
|
||||
private final VisualAssetRepository visualAssetRepository;
|
||||
@@ -68,9 +68,9 @@ public class SettingsService {
|
||||
|
||||
public void logSettings(String msg, Settings settings) {
|
||||
try {
|
||||
logger.info("{}:\n{}", msg, objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(settings));
|
||||
LOG.info("{}:\n{}", msg, objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(settings));
|
||||
} catch (JsonProcessingException e) {
|
||||
logger.error("Failed to serialize settings", e);
|
||||
LOG.error("Failed to serialize settings", e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,7 +136,7 @@ public class SettingsService {
|
||||
}
|
||||
|
||||
if (!visualsToUpdate.isEmpty() || !audioToUpdate.isEmpty()) {
|
||||
logger.info(
|
||||
LOG.info(
|
||||
"Normalized {} visual assets and {} audio assets to new settings ranges",
|
||||
visualsToUpdate.size(),
|
||||
audioToUpdate.size()
|
||||
|
||||
@@ -16,7 +16,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
@Service
|
||||
public class SystemAdministratorService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SystemAdministratorService.class);
|
||||
private static final Logger LOG = LoggerFactory.getLogger(SystemAdministratorService.class);
|
||||
|
||||
private final SystemAdministratorRepository repo;
|
||||
private final Environment environment;
|
||||
@@ -41,7 +41,7 @@ public class SystemAdministratorService {
|
||||
environment.getProperty("org.springframework.boot.test.context.SpringBootTestContextBootstrapper")
|
||||
)
|
||||
) {
|
||||
logger.info("Skipping system administrator bootstrap in test context");
|
||||
LOG.info("Skipping system administrator bootstrap in test context");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ public class SystemAdministratorService {
|
||||
if (initialSysadmin != null) {
|
||||
long deleted = repo.deleteByTwitchUsername(initialSysadmin);
|
||||
if (deleted > 0) {
|
||||
logger.info("Removed persisted initial system administrator '{}' to use environment value", initialSysadmin);
|
||||
LOG.info("Removed persisted initial system administrator '{}' to use environment value", initialSysadmin);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ public class SystemAdministratorService {
|
||||
);
|
||||
}
|
||||
|
||||
logger.info("Using initial system administrator '{}' from environment", initialSysadmin);
|
||||
LOG.info("Using initial system administrator '{}' from environment", initialSysadmin);
|
||||
}
|
||||
|
||||
public void addSysadmin(String twitchUsername) {
|
||||
|
||||
@@ -16,7 +16,7 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class FfmpegService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(FfmpegService.class);
|
||||
private static final Logger LOG = LoggerFactory.getLogger(FfmpegService.class);
|
||||
|
||||
public Optional<VideoDimensions> extractVideoDimensions(byte[] bytes) {
|
||||
return Optional.ofNullable(withTempFile(bytes, ".bin", (input) -> {
|
||||
@@ -34,7 +34,7 @@ public class FfmpegService {
|
||||
);
|
||||
ProcessResult result = run(command);
|
||||
if (result.exitCode() != 0) {
|
||||
logger.warn("ffprobe failed: {}", result.output());
|
||||
LOG.warn("ffprobe failed: {}", result.output());
|
||||
return null;
|
||||
}
|
||||
String output = result.output().trim();
|
||||
@@ -47,7 +47,7 @@ public class FfmpegService {
|
||||
int height = Integer.parseInt(parts[1].trim());
|
||||
return new VideoDimensions(width, height);
|
||||
} catch (NumberFormatException e) {
|
||||
logger.warn("Unable to parse ffprobe output: {}", output, e);
|
||||
LOG.warn("Unable to parse ffprobe output: {}", output, e);
|
||||
return null;
|
||||
}
|
||||
}));
|
||||
@@ -75,7 +75,7 @@ public class FfmpegService {
|
||||
);
|
||||
ProcessResult result = run(command);
|
||||
if (result.exitCode() != 0) {
|
||||
logger.warn("ffmpeg preview failed: {}", result.output());
|
||||
LOG.warn("ffmpeg preview failed: {}", result.output());
|
||||
return null;
|
||||
}
|
||||
return Files.readAllBytes(output);
|
||||
@@ -111,7 +111,7 @@ public class FfmpegService {
|
||||
);
|
||||
ProcessResult result = run(command);
|
||||
if (result.exitCode() != 0) {
|
||||
logger.warn("ffmpeg transcode failed: {}", result.output());
|
||||
LOG.warn("ffmpeg transcode failed: {}", result.output());
|
||||
return null;
|
||||
}
|
||||
return Files.readAllBytes(output);
|
||||
@@ -139,7 +139,7 @@ public class FfmpegService {
|
||||
);
|
||||
ProcessResult result = run(command);
|
||||
if (result.exitCode() != 0) {
|
||||
logger.warn("ffmpeg APNG transcode failed: {}", result.output());
|
||||
LOG.warn("ffmpeg APNG transcode failed: {}", result.output());
|
||||
return null;
|
||||
}
|
||||
return Files.readAllBytes(output);
|
||||
@@ -156,14 +156,14 @@ public class FfmpegService {
|
||||
Files.write(input, bytes);
|
||||
return handler.handle(input);
|
||||
} catch (IOException e) {
|
||||
logger.warn("Unable to create temporary media file", e);
|
||||
LOG.warn("Unable to create temporary media file", e);
|
||||
return null;
|
||||
} finally {
|
||||
if (input != null) {
|
||||
try {
|
||||
Files.deleteIfExists(input);
|
||||
} catch (IOException e) {
|
||||
logger.warn("Unable to delete temporary file {}", input, e);
|
||||
LOG.warn("Unable to delete temporary file {}", input, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
@Service
|
||||
public class MediaDetectionService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(MediaDetectionService.class);
|
||||
private static final Logger LOG = LoggerFactory.getLogger(MediaDetectionService.class);
|
||||
|
||||
public Optional<String> detectAllowedMediaType(MultipartFile file, byte[] bytes) {
|
||||
Optional<String> detected = detectMediaType(bytes)
|
||||
@@ -47,7 +47,7 @@ public class MediaDetectionService {
|
||||
return Optional.of(guessed);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
logger.warn("Unable to detect content type from stream", e);
|
||||
LOG.warn("Unable to detect content type from stream", e);
|
||||
}
|
||||
|
||||
return Optional.empty();
|
||||
|
||||
@@ -11,7 +11,7 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class MediaOptimizationService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(MediaOptimizationService.class);
|
||||
private static final Logger LOG = LoggerFactory.getLogger(MediaOptimizationService.class);
|
||||
private static final FfmpegService.VideoDimensions DEFAULT_VIDEO_DIMENSIONS = new FfmpegService.VideoDimensions(
|
||||
640,
|
||||
360
|
||||
@@ -87,7 +87,7 @@ public class MediaOptimizationService {
|
||||
.transcodeApngToGif(bytes)
|
||||
.map(this::transcodeGifToVideo)
|
||||
.orElseGet(() -> {
|
||||
logger.warn("Unable to transcode APNG to GIF via ffmpeg");
|
||||
LOG.warn("Unable to transcode APNG to GIF via ffmpeg");
|
||||
return null;
|
||||
});
|
||||
}
|
||||
@@ -103,7 +103,7 @@ public class MediaOptimizationService {
|
||||
return new OptimizedAsset(videoBytes, "video/webm", dimensions.width(), dimensions.height(), preview);
|
||||
})
|
||||
.orElseGet(() -> {
|
||||
logger.warn("Unable to transcode GIF to video via ffmpeg");
|
||||
LOG.warn("Unable to transcode GIF to video via ffmpeg");
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class MediaPreviewService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(MediaPreviewService.class);
|
||||
private static final Logger LOG = LoggerFactory.getLogger(MediaPreviewService.class);
|
||||
|
||||
private final FfmpegService ffmpegService;
|
||||
|
||||
@@ -19,7 +19,7 @@ public class MediaPreviewService {
|
||||
return ffmpegService
|
||||
.extractVideoPreview(bytes)
|
||||
.orElseGet(() -> {
|
||||
logger.warn("Unable to capture video preview frame for {}", mediaType);
|
||||
LOG.warn("Unable to capture video preview frame for {}", mediaType);
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user