Ejemplo n.º 1
0
        public RAMDatabase(bool useRAMOnly)
        {
            this.useRAMOnly = useRAMOnly;

            if (useRAMOnly)
            {
                pokerTables = new SortedDictionary <long, databaseCache.pokerTable>();
                localPokerTableIdToDatabaseTableId = new Dictionary <long, long>();
                pokerPlayers = new Dictionary <PokerClients, Dictionary <long, PokerPlayer> >();
                pokerHands   = new SortedDictionary <long, SortedDictionary <long, databaseCache.pokerHand> >();
                holeCards    = new Dictionary <long, Dictionary <long, databaseCache.holeCard> >();
                handActions  = new SortedDictionary <long, List <databaseCache.handAction> >();
            }

#if databaseLogging
            //If we are logging configure the logger
            ILoggerRepository            repository             = LogManager.GetRepository(Assembly.GetCallingAssembly());
            IBasicRepositoryConfigurator configurableRepository = repository as IBasicRepositoryConfigurator;

            PatternLayout layout = new PatternLayout();
            layout.ConversionPattern = "%level% [%thread%] - %message%newline";
            layout.ActivateOptions();

            FileAppender appender = new FileAppender();
            appender.Layout       = layout;
            appender.Threshold    = Level.Warn;
            appender.File         = "RAMDatabase.csv";
            appender.AppendToFile = true;
            appender.ActivateOptions();
            configurableRepository.Configure(appender);
#endif
        }
Ejemplo n.º 2
0
        ///// <summary>
        ///// Initializes the <see cref="ILoggerRepository"/> with a default configuration.
        ///// </summary>
        ///// <param name="repository">The repository to configure.</param>
        ///// <remarks>
        ///// <para>
        ///// Initializes the specified repository using a <see cref="ConsoleAppender"/>
        ///// that will write to <c>Console.Out</c>. The log messages are
        ///// formatted using the <see cref="PatternLayout"/> layout object
        ///// with the <see cref="PatternLayout.DetailConversionPattern"/>
        ///// layout style.
        ///// </para>
        ///// </remarks>
        //static public void Configure(ILoggerRepository repository)
        //{
        //  // Create the layout
        //  PatternLayout layout = new PatternLayout();
        //  layout.ConversionPattern = PatternLayout.DetailConversionPattern;
        //  layout.ActivateOptions();

        //  // Create the appender
        //  ConsoleAppender appender = new ConsoleAppender();
        //  appender.Layout = layout;
        //  appender.ActivateOptions();

        //  BasicConfigurator.Configure(repository, appender);
        //}

        /// <summary>
        /// Initializes the <see cref="ILoggerRepository"/> using the specified appender.
        /// </summary>
        /// <param name="repository">The repository to configure.</param>
        /// <param name="appender">The appender to use to log all logging events.</param>
        /// <remarks>
        /// <para>
        /// Initializes the <see cref="ILoggerRepository"/> using the specified appender.
        /// </para>
        /// </remarks>
        static public void Configure(ILoggerRepository repository, IAppender appender)
        {
            IBasicRepositoryConfigurator configurableRepository = repository as IBasicRepositoryConfigurator;

            if (configurableRepository != null)
            {
                configurableRepository.Configure(appender);
            }
            else
            {
                LogLog.Warn("BasicConfigurator: Repository [" + repository + "] does not support the BasicConfigurator");
            }
        }
Ejemplo n.º 3
0
        static private void InternalConfigure(ILoggerRepository repository, params IAppender[] appenders)
        {
            IBasicRepositoryConfigurator configurableRepository = repository as IBasicRepositoryConfigurator;

            if (configurableRepository != null)
            {
                configurableRepository.Configure(appenders);
            }
            else
            {
                LogLog.Warn(declaringType, "BasicConfigurator: Repository [" + repository + "] does not support the BasicConfigurator");
            }
        }
Ejemplo n.º 4
0
        private static void ConfigureLogger(TraceWriter traceWriter)
        {
            ILoggerRepository repository = LogManager.GetRepository(Assembly.GetCallingAssembly());

            // Static data might be retained between function calls -- it might
            // already be configured.
            if (repository.Configured)
            {
                return;
            }

            PatternLayout localLayout = new PatternLayout();

            localLayout.ConversionPattern = "%message%newline";
            localLayout.ActivateOptions();

            PatternLayout remoteLayout = new PatternLayout();

            remoteLayout.ConversionPattern = "%level %logger: %message%newline";
            remoteLayout.ActivateOptions();

            // Not sure about usage of this.
            PatternLayout identity = new PatternLayout();

            identity.ConversionPattern = "azure";
            identity.ActivateOptions();

            RemoteSyslogAppender remoteSyslogAppender = new RemoteSyslogAppender();

            remoteSyslogAppender.Layout        = remoteLayout;
            remoteSyslogAppender.RemoteAddress = GetIpv4Address("f00.lv");
            //remoteSyslogAppender.RemoteAddress = IPAddress.Parse("192.188.1.100"); // rsyslog address.
            remoteSyslogAppender.RemotePort = 514;
            remoteSyslogAppender.Facility   = RemoteSyslogAppender.SyslogFacility.User;
            remoteSyslogAppender.Identity   = identity;
            remoteSyslogAppender.ActivateOptions();

            TraceWriterAppender traceWriterAppender = new TraceWriterAppender(traceWriter);

            traceWriterAppender.Layout = localLayout;
            traceWriterAppender.ActivateOptions();

            IBasicRepositoryConfigurator configurableRepository = repository as IBasicRepositoryConfigurator;

            configurableRepository.Configure(remoteSyslogAppender, traceWriterAppender);
        }
        private static void ConfigureLogger()
        {
            ILoggerRepository repository = LogManager.GetRepository(Assembly.GetCallingAssembly());

            PatternLayout timeLayout = new PatternLayout();

            timeLayout.ConversionPattern = "%utcdate %level %logger: %message%newline";
            timeLayout.ActivateOptions();

            PatternLayout noTimeLayout = new PatternLayout();

            noTimeLayout.ConversionPattern = "%level %logger: %message%newline";
            noTimeLayout.ActivateOptions();

            ConsoleAppender consoleAppender = new ConsoleAppender();

            consoleAppender.Layout = timeLayout;
            consoleAppender.ActivateOptions();

            // Not sure about usage of this.
            PatternLayout identity = new PatternLayout();

            identity.ConversionPattern = "log4net";
            identity.ActivateOptions();

            RemoteSyslogAppender remoteSyslogAppender = new RemoteSyslogAppender();

            remoteSyslogAppender.Layout        = noTimeLayout;
            remoteSyslogAppender.RemoteAddress = GetIpv4Address("f00.lv");
            remoteSyslogAppender.RemotePort    = 514;
            remoteSyslogAppender.Facility      = RemoteSyslogAppender.SyslogFacility.User;
            remoteSyslogAppender.Identity      = identity;
            remoteSyslogAppender.ActivateOptions();

            IBasicRepositoryConfigurator configurableRepository = repository as IBasicRepositoryConfigurator;

            configurableRepository.Configure(remoteSyslogAppender, consoleAppender);
        }
Ejemplo n.º 6
0
        private static void ConfigureLogger()
        {
            ILoggerRepository repository = LogManager.GetRepository(Assembly.GetCallingAssembly());

            if (repository.Configured)
            {
                throw new System.Exception("Configured already");
            }

            PatternLayout layout = new PatternLayout();

            layout.ConversionPattern = "%utcdate %level %logger: %message%newline";
            layout.ActivateOptions();

            ConsoleAppender appender = new ConsoleAppender();

            appender.Layout = layout;
            appender.ActivateOptions();

            IBasicRepositoryConfigurator configurableRepository = repository as IBasicRepositoryConfigurator;

            configurableRepository.Configure(appender);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Start logging to the console.
        /// </summary>
        public static void StartConsoleLogging()
        {
#if logging
            ILoggerRepository repository = GetRootRepository();

            // Create the layout
            PatternLayout layout = new PatternLayout();
            layout.ConversionPattern = PatternLayout.DetailConversionPattern;
            layout.ActivateOptions();

            // Create the appender
            ConsoleAppender appender = new ConsoleAppender();
            appender.Layout = layout;
            appender.ActivateOptions();

            // Now use it on the root repository
            IBasicRepositoryConfigurator configurableRepository = repository as IBasicRepositoryConfigurator;
            if (configurableRepository != null)
            {
                configurableRepository.Configure(appender);
            }
#endif
        }
Ejemplo n.º 8
0
        public PlayerActionPredictionProvider(InfoCollection information, Dictionary <InfoProviderType, InfoProviderBase> allInformationProviders, AIRandomControl aiRandomControl)
            : base(information, InfoProviderType.PlayerActionPrediction, allInformationProviders, aiRandomControl)
        {
            requiredInfoTypes = new List <InfoType>()
            {
                InfoType.CP_AKQToBoardRatio_Real,                                       //Same for all
                InfoType.CP_AOnBoard_Bool,                                              //Same for all
                InfoType.CP_FlushPossible_Bool,                                         //Same for all
                InfoType.CP_KOnBoard_Bool,                                              //Same for all
                InfoType.CP_StraightPossible_Bool,                                      //Same for all
                InfoType.GP_GameStage_Byte,                                             //Same for all
                InfoType.GP_NumActivePlayers_Byte,                                      //Provided
                InfoType.GP_NumPlayersDealtIn_Byte,                                     //Same for all
                InfoType.GP_NumTableSeats_Byte,                                         //Same for all
                InfoType.GP_NumUnactedPlayers_Byte,                                     //Provided
                InfoType.BP_BetsToCall_Byte,                                            //Provided
                InfoType.BP_LastRoundBetsToCall_Byte,                                   // ********* From CACHE
                InfoType.BP_MinimumPlayAmount_Decimal,                                  //Provided
                InfoType.BP_PlayerLastAction_Short,                                     // ********* From CACHE
                InfoType.BP_PlayerMoneyInPot_Decimal,                                   // ********* From CACHE
                InfoType.BP_TotalNumCalls_Byte,                                         //Provided
                InfoType.BP_TotalNumRaises_Byte,                                        //Provided
                InfoType.BP_TotalPotAmount_Decimal,                                     //Provided
                InfoType.BP_LastAdditionalRaiseAmount,
                InfoType.GP_DealerDistance_Byte,                                        // ********* From CACHE
                InfoType.AP_AvgScaledOppPreFlopPlayFreq_Double                          //We don't actually need this we just want to make sure the agression provider has been added
            };

            providedInfoTypes = new List <InfoPiece>()
            {
                new InfoPiece(InfoType.PAP_RaiseToStealAmount_Amount, 0),
                new InfoPiece(InfoType.PAP_RaiseToStealSuccess_Prob, 0),
                new InfoPiece(InfoType.PAP_RaiseToCallAmount_Amount, 0),
                new InfoPiece(InfoType.PAP_RaiseToBotCall_Prob, 1),
                new InfoPiece(InfoType.PAP_FoldToBotCall_Prob, 0),
                new InfoPiece(InfoType.PAP_RaiseToBotCheck_Prob, 1),
            };
            AddProviderInformationTypes();

            //Create the player action prediction network manager if it's has not already been created.
            if (networkManager == null)
            {
                networkManager = new playerActionPredictionNetworkManager();
            }

#if logging
            //If we are logging configure the logger
            ILoggerRepository            repository             = LogManager.GetRepository(Assembly.GetCallingAssembly());
            IBasicRepositoryConfigurator configurableRepository = repository as IBasicRepositoryConfigurator;

            PatternLayout layout = new PatternLayout();
            layout.ConversionPattern = "%level% [%thread%] - %message%newline";
            layout.ActivateOptions();

            FileAppender appender = new FileAppender();
            appender.Layout       = layout;
            appender.File         = "aiDecisions_PAP.csv";
            appender.AppendToFile = true;
            appender.ActivateOptions();
            configurableRepository.Configure(appender);
#endif
        }