15 Commits

Author SHA1 Message Date
Jesús Pérex
13c65980ac refactor(logging): Improve thread safety and test configuration
This commit enhances the logging system with better thread safety and proper test configuration:

- Replace RefCell with RwLock in SimpleLogger for thread-safe logging
- Add proper feature flag configuration for test-sync
- Organize logging modules with clear separation between prod and test
- Update test files with proper feature flag annotations
- Fix module structure in lib.rs to avoid duplicate definitions

Technical changes:
- Use RwLock for thread-safe log writer access
- Add #![cfg(feature = "test-sync")] to all test files
- Configure .cargo/config.toml for test-sync feature
- Update Cargo.toml with proper test configurations
- Clean up logging module exports

This change ensures thread-safe logging in production while maintaining
separate test-specific synchronization primitives, improving overall
reliability and maintainability.
2025-05-27 09:57:16 +01:00
Jesús Pérex
5d5ae2d759 chore: fix lines 2025-05-27 01:02:00 +01:00
Jesús Pérex
852df37ffc refactor(tests): improve test logging setup and organization
- Create unit test and integration tests for logs in separate tests
- Centralize temporary log file creation in common.rs
- Remove redundant logging initialization code from common.rs
- Update all test files to handle their own logging initialization
- Add detailed debug logging throughout test execution
- Add log file content display for better test debugging
- Standardize error handling across test files

Changes:
- Create setup_test_log_file() helper in common.rs
- Remove setup_test_logging() and setup_temp_log() functions
- Update test files to use common setup_test_log_file():
  - test_log_detail_macro.rs
  - test_log_timed_macro.rs
  - test_different_log_levels.rs
  - test_init_logging_with_file.rs
  - test_init_logging_append_mode.rs

This change improves test maintainability by:
1. Reducing code duplication
2. Making test behavior more explicit
3. Improving test output for debugging
4. Following single responsibility principle
2025-05-27 00:59:44 +01:00
Jesús Pérex
98a9649bf2 refactor: improve code to more idiomatic
- Use lib.rs for library mode and used with log tests
- Improve enum for tasks on files with file_type.rs
- Fix main and directory_processing
- Add Errors
- Adjust loggint.rs with OneLock and Atomic to control with parallel tests
- Add test.rs for unitary tests
2025-05-27 00:58:59 +01:00
Jesús Pérex
a03508695d refactor: improve logging and test organization
BREAKING CHANGE: Logging output now goes to either file or console, not both

Logging changes:
- Rename MultiWriter to LogWriter for clarity
- Change logging to write to either file or console exclusively
- Improve log initialization message format
- Add better documentation for logging behavior

Test organization:
- Move tests from directory_processor.rs to separate test modules
- Follow modern Rust convention using tests.rs instead of mod.rs
- Create proper test directory structure under src/tests/
- Make necessary struct fields pub(crate) for testing

This commit improves code organization and makes logging behavior more
conventional by directing output to a single destination.
2025-05-26 18:43:00 +01:00
Jesús Pérex
db778cab51 chore: rename FILES_TO_IGNORE to PATHS_TO_IGNORE 2025-05-25 00:19:03 +01:00
Jesús Pérex
6c0ecb402c chore:
- add syncthing directories to be excluded in clean_target
   - rename FILES_TO_IGNORE to PATHS_TO_IGNORE
2025-05-25 00:18:11 +01:00
Jesús Pérex
c13b2fe3ad chore: use FILES_TO_IGNORE to exclude files in cleanup_target 2025-05-24 07:57:27 +01:00
Jesús Pérex
08bad3380c chore: +nightly fmt 2025-05-23 20:03:30 +01:00
Jesús Pérex
640ce8334c feat:
- Add support for .doc and .docx files
  - Use FILES_TO_CONVERT constant for document types to convert to PDF
  - Refactor code, file checking and help text for formats
2025-05-23 19:50:47 +01:00
Jesús Pérex
a0b78e3c7e fix: correct path handling in directory processing
- Fix duplicate subdirectory creation bug when processing nested directories
- Change relative path calculation to use current directory instead of root
- Remove redundant subdirectory creation code
- Improve path display in logs to show cleaner relative paths
2025-05-23 19:49:11 +01:00
Jesús Pérex
4bfd43e1e0 fix: correct path handling in directory processing
- Fix duplicate subdirectory creation bug when processing nested directories
- Change relative path calculation to use current directory instead of root
- Remove redundant subdirectory creation code
- Improve path display in logs to show cleaner relative paths
2025-05-23 19:22:44 +01:00
Jesús Pérex
b2170200fe chore: fix converted message output 2025-05-23 16:38:40 +01:00
Jesús Pérex
8326aad265 feat: add recursive directory processing for ODT files - Add process_directory function, maintain directory structure, improve error handling 2025-05-23 16:18:20 +01:00
Jesús Pérex
72f4191292 chore: add source code 2025-05-20 21:55:58 +01:00