int main(int argc, char* argv[]) { ConfigXML cfg = set_parameters("SingleSampleCCE.xml"); string log_file = LOG_PATH + cfg.getStringParameter("Data", "log_file"); _START_EASYLOGGINGPP(argc, argv); easyloggingpp::Configurations confFromFile(log_file.c_str()); easyloggingpp::Loggers::reconfigureAllLoggers(confFromFile); int worker_num(0), my_rank(0); int mpi_status = MPI_Init(&argc, &argv); assert (mpi_status == MPI_SUCCESS); MPI_Comm_size(MPI_COMM_WORLD, &worker_num); MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); LOG(INFO) << "my_rank = " << my_rank << " vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv Program begins vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv"; // create defect center NVCenter nv = create_defect_center(cfg); // CCE SingleSampleCCE sol(my_rank, worker_num, &nv, cfg); sol.run(); LOG(INFO) << "my_rank = " << my_rank << " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Program ends ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"; mpi_status = MPI_Finalize(); assert (mpi_status == MPI_SUCCESS); }
int main(int argc, char ** argv) { el::Configurations confFromFile("./dev_controller-logger.conf"); el::Loggers::reconfigureAllLoggers(confFromFile); if (argc < 10) { std::cout<<"dev_controller mqtt_clientid mqtt_username mqtt_password mqtt_connuri, zmq_listenuri redisIPAddr redisPort zookeeperAddrList mongodbUri"<<std::endl; return -1; } char hostName[64] = {0}; int ret = gethostname(hostName, sizeof(hostName)-1); if (ret != 0) { strcpy(hostName, "pigeon-host"); } pid_t procId = getpid(); char postfix[128] = {0}; sprintf(postfix, ":%s_%d:", hostName, procId); dev_ctl_id += postfix; g_stopflag.test_and_set(); signal(SIGINT, sigIntHandler); signal(SIGTERM, sigIntHandler); auto upListener = std::make_shared<UsrPortalMsgListener>(); gPtrZmqEndInst = std::make_shared<pigeon::ZmqEnd>(argv[5]); gPtrZmqEndInst->setMsgListener(upListener); gPtrZmqEndInst->startMsgLoop(); //reg own service into zookeeper char svcid[128] = {0}; sprintf(svcid, "%s_%d", hostName, procId); DevCtlServiceInfo sInfo(argv[5], svcid); DevCtlServiceReg sGeg(argv[8], service_path, sInfo.getServiceInfoJson()); ret = sGeg.RegService(); if (ret != 0) { LOG(ERROR) << "reg own service into zookeeper fail!"; gPtrZmqEndInst->finMsgLoop(); return -1; } //DevQueryEnd gPtrDqEnd = std::unique_ptr<DevQueryEnd>(new DevQueryEnd(gPtrZmqEndInst, argv[6], atoi(argv[7]))); gPtrDqEnd->start(); //DevOptEnd gPtrDOpEnd = std::unique_ptr<DevOptEnd>(new DevOptEnd(dev_ctl_id, gPtrZmqEndInst, argv[1], argv[2], argv[3], argv[4], argv[6], atoi(argv[7]), argv[9])); gPtrDOpEnd->start(); while(g_stopflag.test_and_set()) { std::this_thread::sleep_for(std::chrono::milliseconds(200)); } gPtrZmqEndInst->finMsgLoop(); gPtrDqEnd->stop(); gPtrDOpEnd->stop(); return 0; }
int main(int argc, char* argv[]) { po::variables_map para = ParseCommandLineOptions(argc, argv); //////////////////////////////////////////////////////////////////////////////// //{{{ MPI Preparation int worker_num(0), my_rank(0); int mpi_status = MPI_Init(&argc, &argv); assert (mpi_status == MPI_SUCCESS); MPI_Comm_size(MPI_COMM_WORLD, &worker_num); MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); //}}} //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //{{{ LOGGING string log_file = LOG_PATH + para["logfile"].as<string>(); _START_EASYLOGGINGPP(argc, argv); easyloggingpp::Configurations confFromFile(log_file.c_str()); easyloggingpp::Loggers::reconfigureAllLoggers(confFromFile); //}}} //////////////////////////////////////////////////////////////////////////////// LOG(INFO) << "my_rank = " << my_rank << " vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv Program begins vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv"; EnsembleCCE sol(my_rank, worker_num, para); // Step 1: make a defect center NVCenter nv = create_defect_center(para); sol.set_defect_center(&nv); // Step 2: make bath spins cSpinSourceUniformRandom spinUR = create_spin_source(para); sol.set_bath_spin(&spinUR); // Step 3: make clusters cSpinCollection bath_spins = sol.getSpinCollecion(); cDepthFirstPathTracing dfpt = create_spin_cluster_algrithm(para, bath_spins); sol.set_bath_cluster(&dfpt); // Step 4: run_each_cluster sol.run_each_clusters(); // Step 5: post_treatment sol.post_treatment(); LOG(INFO) << "my_rank = " << my_rank << " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Program ends ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"; //////////////////////////////////////////////////////////////////////////////// //{{{ MPI Finializing mpi_status = MPI_Finalize(); assert (mpi_status == MPI_SUCCESS); //}}} //////////////////////////////////////////////////////////////////////////////// }
INITIALIZE_EASYLOGGINGPP int main(void) { // If we log before configuration, we will end up with heaps of internal errors because ELPP_NO_DEFAULT_LOG_FILE is defined before include el::Configurations confFromFile("../default-logger.conf"); el::Loggers::reconfigureAllLoggers(confFromFile); LOG(INFO) << "Logging after configured!"; return 0; }
INITIALIZE_EASYLOGGINGPP int main(int argc, char *arcv[]) { std::string conf = "../conf/easylogging++.conf"; el::Loggers::addFlag(el::LoggingFlag::ColoredTerminalOutput); el::Loggers::addFlag(el::LoggingFlag::HierarchicalLogging); el::Configurations confFromFile(conf); el::Loggers::reconfigureAllLoggers(confFromFile); exit(EXIT_SUCCESS); }