"""Create error_monitor
Generated by Phi-Octopus Eden
2025-11-06 20:19:12.988920
"""

```python
from typing import Callable, Dict, Any
import logging

# Setup basic configuration for logging
logging.basicConfig(level=logging.INFO)

def create_error_monitor(error_callback: Callable[[str], None]) -> Callable[[Callable[[], Any]], Callable[[], None]]:
    """
    Creates an error monitor that wraps a function and catches any errors,
    then logs them using the provided error callback.

    :param error_callback: A callable that accepts a string message
                           and handles the error (e.g., logging it).
    :return: A decorator function to be used for monitoring other functions.
    """
    def decorator(target_function: Callable[[], Any]) -> Callable[[], None]:
        """
        Decorator function to wrap target function with error monitoring.

        :param target_function: The function to be monitored.
        :return: A wrapped version of the target function that handles errors.
        """
        def wrapper() -> None:
            try:
                result = target_function()
            except Exception as e:
                logging.error(f"An error occurred in {target_function.__name__}: {str(e)}")
                # Notify via callback
                error_callback(f"{target_function.__name__} failed with: {str(e)}")
            else:
                logging.info(f"{target_function.__name__} completed successfully.")
        return wrapper
    return decorator


# Example usage of the created error monitor

@create_error_monitor(error_callback=logging.error)
def risky_operation() -> None:
    """
    A risky operation that might raise an exception.
    """
    from random import randint
    if randint(0, 1) == 0:  # Simulating a failure
        raise ValueError("Something went wrong!")


if __name__ == "__main__":
    try:
        risky_operation()
    except Exception as e:
        logging.error(f"Caught an exception in main: {str(e)}")
```